1

我有一个指向网络上 xml.gz 文件的链接,我正在尝试将 xml 取出并阅读他。

我试过了:

$path = '/temp_xml/test.xml';
$url  = 'http://feeds.###########_UMXILI.xml.gz';
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url
, CURLOPT_HEADER => 0
, CURLOPT_RETURNTRANSFER => 1
, CURLOPT_ENCODING => 'gzip'
));  

我是否必须将数据保存在计算机上的临时文件中才能解码?如何?
谢谢

4

1 回答 1

1

您不需要保存文件,您可以将其传递给gzdecode($string)它,它将返回未压缩的字符串:

$compressed = curl_exec($ch);
curl_close($ch);

$uncompressed = gzdecode($compressed);
// now you can use string as xml
$xml = simplexml_load_string($uncompressed);
于 2013-09-04T09:21:30.737 回答