Количество способов чтения XML-файла с другого сервера в PHP? - PullRequest
3 голосов
/ 28 октября 2008

Я пытаюсь прочитать XML-файл с другого сервера. Однако компания, в которой я размещаюсь, похоже, отказалась от функции file_get_contents при извлечении файлов для файлов с других серверов (и их поддержка не очень яркая, и для них требуется вечность). Поэтому мне нужно как-то обойтись.

Это мой текущий код

 $url =  urldecode( $object_list_url );
 $xmlstr = file_get_contents ( $url );
 $obj = new SimpleXMLElement ( $xmlstr, LIBXML_NOCDATA );

Ответы [ 3 ]

8 голосов
/ 28 октября 2008

Вы можете использовать cURL (если это не было отключено). Примерно так:

$c = curl_init($url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$xmlstr = curl_exec($c);
0 голосов
/ 28 октября 2008

Можете ли вы выполнить следующий скрипт и предоставить информацию в виде комментария?

<?php
phpinfo();
?>
0 голосов
/ 28 октября 2008

Инициатор, на который вы ссылаетесь, - allow_url_fopen. Чтобы проверить, запустите этот скрипт:

var_dump(ini_get('allow_url_fopen'));

Попросите ваш хост включить это значение ini (если оно отключено - оно включено по умолчанию).

Вы не сможете получить доступ к любому удаленному URL без этой настройки ini.

Также идея, если они не будут, попытаться copy файл на ваш сервер. Я ожидаю, что все функции файловой системы будут охвачены этим параметром ini, но всегда стоит попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...