Обработка XML из архива .gz

rooker

Новичок
Обработка XML из архива .gz

Помогите открыть XML файл, находящийся в архиве
http://services.immo.ru/multimedia2/partners/pictures_content.xml.gz
Делаю так
$fp = gzopen
("http://services.immo.ru/multimedia2/partners/pictures_content.xml.gz", "r");

if (!$fp)
{
echo "$errstr ($errno)<br>\n";
}
else
{
while (!gzeof($fp)) {
$file .= gzgetc($fp);
}
gzclose($fp);

}

Когда делаю echo $file; на страницу выводится XML-файл

Но когда открываю
$doc = new domDocument();
$doc->load($file);
ошибка Warning: DOMDocument::load() [function.load]: Start tag expected, '<' not found in /home/folder/www, line: 1 in /home/folder/www/script.php on line 27

-~{}~ 07.04.06 03:48:

Что никто не знает?
 

rooker

Новичок
не совсем понял

если поставить так
$file = "http://services.immo.ru/multimedia2/partners/ringtones_content.xml.gz";
$doc = new domDocument();
$doc->load($file);
тоже ошибка.
 

Panchous

Павел
ringtones_content.xml.gz - это архив!
тебе надо сначала извлечь оттуда данные (XML),
и потом уже с ними работать.
 

rooker

Новичок
так вот это у меня и не получается

извлекаю так
$fp = gzopen
("http://services.immo.ru/multimedia2/partners/ringtones_content.xml.gz", "r");

if (!$fp)
{
echo "$errstr ($errno)<br>\n";
}
else
{
while (!gzeof($fp)) {
$file .= gzgetc($fp);
}
gzclose($fp);

}

Правильно?
 

ybilevych

Новичок
Panchous
Где ты архив увидел?

rooker
Ты прочитал содержимое архива в строку, а теперь пытаешься открыть XML-файл, подсунув как имя содержимое архива.
Вместо $doc->load($file); поставь $doc->loadXML($file);
 

rooker

Новичок
Автор оригинала: ybilevych
rooker
Ты прочитал содержимое архива в строку, а теперь пытаешься открыть XML-файл, подсунув как имя содержимое архива.
Вместо $doc->load($file); поставь $doc->loadXML($file);

Верно, все заработало. Спасибо
 
Сверху