0

尝试从以下 URL 读取 XML 提要:http: //www.mister-baseball.com/feed/

但是,输出以某种方式编码错误,我不知道如何解决这个问题。我的代码如下所示:

$url = "http://www.mister-baseball.com/feed/";
// Check the cache first
$error = false;
if (!file_exists($cacheFile) || filemtime($cacheFile) < (time() - 60 * 5)) {
  if ($xmlString = @file_get_contents($url, FILE_TEXT)) {
    // WHEN I PRINT THE $xmlString HERE, IT LOOKS BAD
    file_put_contents($cacheFile, $xmlString, LOCK_EX);
  } else {
    // THIS PART IS NOT REACHED
    $logDate = date('d-M-Y H:i:s');
    error_log("[$logDate] Cannot open XML news feed at $url");
    $error = true;
  }
}
4

2 回答 2

3

该网址正在返回一个 gzip。写入缓存文件后,用winrar或者7zip打开就可以看到了。

于 2013-06-12T19:58:07.590 回答
1

PHP 已内置此功能。

http://php.net/manual/en/wrappers.compression.php

您可以使用:

simplexml_load_file("compress.zlib://http://www.mister-baseball.com/feed/")

或者

file_get_contents('compress.zlib://http://www.mister-baseball.com/feed/');

于 2013-06-12T20:07:15.610 回答