У меня есть XML-файл, который я могу получить через URL-адрес. Я знаю, что могу получить файл с помощью fopen
, но иногда я видел, что сценарии используют curl
. Есть ли преимущество в использовании curl
по сравнению с fopen
для получения файлов XML?Я использую fopen или curl для загрузки XML-файла с указанием URL-адреса в PHP
ответ
Ну, если вы собираетесь использовать SimpleXML, чтобы загрузить файл, который вы можете использовать
simplexml_load_file($filename);
Однако некоторые серверы ограничивают загрузку URL-адресов с помощью этой функции. В этом случае вы будете ограничены cURL.
allow_url_fopen
, который требуется, если вы хотите открыть удаленный файл с fopen
, может быть отключен; поэтому возникают ситуации, когда fopen('http://...')
невозможен.
Примечание: в этом ответе, я говорю «fopen
», но это точно так же со всеми функциями PHP, которые могут получить доступ к удаленным файлам: fopen
, file_get_contents
, simplexml_load_file
...
С другой стороны, curl является расширение и не всегда включено.
Один хороший с завитком, что это довольно легко настроить, и есть много существующих вариантов (см curl_setopt
)
Чтобы настроить способ fopen
доступ к удаленным файлам, это немного сложнее - - вам обычно приходится работать с потоками (см., например, here); и, вообще говоря, есть больше людей, знающих завиток, чем развивают освоение потоков.
Safest путь - особенно, если ваше приложение будет развернуто на серверах, на которых вы не администратор, а не может переконфигурировать:
- Попробуйте одно решение
- И, если это Безразлично» t, попробуйте другой
fopen проще в использовании, и я думаю, что не все настройки сервера поддерживают завиток из коробки. Если fopen отлично работает для вас, это, вероятно, ваш лучший выбор.
Это похоже на простейшее решение для меня, чтобы попробовать в первую очередь. Благодаря! – dkinzer