PHP açık gzip'li XML

3 Cevap php

Ben php gzip'li xml dosyalarını okumak için mücadele ediyorum.

Ben böyle XMLReader () kullanarak, normal bir xml dosyalarını okuma başarılı oldu:

$xml = new XMLReader();
$xml->open($linkToXmlFile);

Xml dosyası gzip'li Ancak zaman, bu işe yaramazsa. Nasıl dosya halletmek ve XMLReader ile okuyabilirsiniz?

3 Cevap

Eğer bir PHP sürümü belirtmek vermedi, ben seni PHP5 kullandığınız kabul edeceğim.

Insanlar kullanılmasını önerdi değil neden ben merak ediyorum inşa PHP compression streams API.

$linkToXmlFile = "compress.zlib:///path/to/xml/file.gz";
$xml = new XMLReader();
$xml->open($linkToXmlFile);

Kimden ne anlıyorum, yorganın altında, bu şeffaf sizin için dosya sıkıştırması ve düz bir xml dosyası sanki bunu okumak için izin verir. Şimdi, bu bir brüt yetersizdir olabilir.

Pascal'ın yazı üzerine genişletilmesi, burada sizin için çalışması gerektiğini bazı örnek kod

$xmlfile = fopen($linkToXmlFile,'rb');
$compressedXml = fread($xmlfile, filesize($linkToXmlFile));
fclose($xmlfile);
$uncompressedXml = gzdecode($compressedXml); 

$xml = new XMLReader();
$xml->xml($uncompressedXml);