PHP открывают gzipped XML

Просто запустите $ which groovy после того, как он установлен.

9
задан hakre 22 October 2013 в 12:45
поделиться

3 ответа

Поскольку вы не указали версию PHP, я предполагаю, что вы используете PHP5.

Мне интересно, почему люди не предложили использовать встроенный PHP сжатие потоков API .

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

Насколько я понимаю, скрытно он будет прозрачно распаковывать файл для вас и позволит вам прочитать его, как если бы это был простой файл xml. Это может быть большим преуменьшением.

22
ответ дан 4 December 2019 в 07:48
поделиться

Возможно, вам может помочь функция gzdecode : в руководстве говорится (цитата):

Декодирует сжатую строку gzip

Итак, вам нужно:

  • загрузить данные XML
  • получить их в виде строки
  • распаковать их с помощью gzdecode
  • работать с ними с помощью XMLReader

Это будет зависеть от правильного расширения ( zlib Я полагаю) уже установлен на вашем сервере, хотя ...

Марк : Расширяя сообщение Паскаля, вот пример кода, который должен работать для вас

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

$xml = new XMLReader();
$xml->xml($uncompressedXml);
4
ответ дан 4 December 2019 в 07:48
поделиться

Расширяя сообщение Паскаля, вот несколько примеров кода, который должен работать для вас

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

$xml = new XMLReader();
$xml->xml($uncompressedXml);
2
ответ дан 4 December 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: