我很努力讀取php中的gzipped xml文件。PHP打開gzipped XML
我在讀正常的xml文件,使用的XMLReader()這樣的成功:
$xml = new XMLReader();
$xml->open($linkToXmlFile);
然而,當XML文件gzip壓縮,這並不工作。如何解壓縮文件並使用XMLReader讀取它?
我很努力讀取php中的gzipped xml文件。PHP打開gzipped XML
我在讀正常的xml文件,使用的XMLReader()這樣的成功:
$xml = new XMLReader();
$xml->open($linkToXmlFile);
然而,當XML文件gzip壓縮,這並不工作。如何解壓縮文件並使用XMLReader讀取它?
工作,當你沒有指定PHP版本,我會假設你正在使用PHP5。
我想知道爲什麼人們還沒有建議使用內置的PHP compression streams API。
$linkToXmlFile = "compress.zlib:///path/to/xml/file.gz";
$xml = new XMLReader();
$xml->open($linkToXmlFile);
據我瞭解,在幕後,它會透明地解壓縮與您的文件,讓你彷彿是一個純XML文件中讀取。現在,這可能是一個粗略的輕描淡寫。
也許功能gzdecode
可以幫助你:手冊上說(報價):
解碼gzip壓縮串
所以,你必須:
XMLReader
它gzdecode
zlib
我猜) beeing安裝在服務器上,但...解壓
Mark :擴展Pascal的帖子,這裏是一些應該爲你工作的示例代碼
$xmlfile = fopen($linkToXmlFile,'rb');
$compressedXml = fread($xmlfile, filesize($linkToXmlFile));
fclose($xmlfile);
$uncompressedXml = gzdecode($compressedXml);
$xml = new XMLReader();
$xml->xml($uncompressedXml);
擴大帕斯卡後,這裏是一些示例代碼,應該爲你
$xmlfile = fopen($linkToXmlFile,'rb');
$compressedXml = fread($xmlfile, filesize($linkToXmlFile));
fclose($xmlfile);
$uncompressedXml = gzdecode($compressedXml);
$xml = new XMLReader();
$xml->xml($uncompressedXml);
如果是關於添加代碼示例的原因,爲什麼不編輯依賴文章並將其添加? – hakre 2013-10-22 12:39:35
不知道它存在,優秀的建議:) – Mark 2009-07-27 23:24:17