У меня есть XML-файл, который я могу получить через URL-адрес. Я знаю, что могу получить файл, используя fopen , но иногда я видел, что скрипты используют curl . Есть ли преимущество использования curl fopen для получения файлов XML?
Ну, если вы собираетесь использовать 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 проще в использовании, и я думаю, что не все настройки сервера поддерживают завиток из коробки. Если fopen отлично работает для вас, это, вероятно, ваш лучший выбор.