Загрузка удаленного файла с помощью Curl (Script или PHP)
cURL - это библиотека передачи файлов через Интернет или другую сеть, позволяющая отправлять или получать их по всем текущим протоколам (http, ftp, ldap).
Это альтернатива fsockopen. Он реализован в PHP и также может использоваться в C и C++.
1) Проверить доступность cURL на веб-хостинге
Функция phpinfo () отображает активные библиотеки на сервере.
Установить следующий сценарий на хостинге:
<?php echo phpinfo();?>
Если cURL включен, будет отображаться такая таблица :
2) Включить cURL под локальным сервером (например, XAMPP)
cURL не включен по умолчанию в PHP, это нужно делать вручную. В меню есть команда для этого, но она действует только на настройку только PHP, а не в директории Apache.
На Xampp нужно изменить PHP.INI-файл обоих:
c:\xampp\php\php5.3.0\php.ini
c:\xampp\apache\Apache2.2.11\bin\php.ini
Следующая строка должна быть комментирована в обоих файлах:
extension=php_curl.dll
Убедитесь, что у вас есть libeay32.dll и ssleay32.dll.
3) Использовать cURL с Script
Чтобы использовать cURL со сценарием, компилирующим в PHP, необходимо добавить файл определения переменных и функций. Этот интерфейс с функциями PHP доступен в архиве (см. ниже):
extern
dyn curl_init(cstring curlopt = null)
boolean curl_setopt(dyn, int, dyn)
dyn curl_exec(dyn)
void curl_close(dyn)
array curl_version()
constant int CURLOPT_URL // pass URL
constant int CURLOPT_CONNECTTIMEOUT // limit waiting time forever
constant int CURLOPT_UPLOAD // send file
/extern
Есть много других переменных, которые ты сам определишь в соответствии с его потребностями с такими строками:
constant int CURLOPT_xxx
В архив включены два сценария:
curl-check.sol: проверяет доступность cURL, отображает доступную версию и функции.
curl-demo.sol: читает RSS-канал на удаленном сервере.
4) Использовать cURL с PHP
Используется cURL, открывая сессию с curl_init () и указывая тип операции, выполняемой с curl_setopt ().
curl_exec () запускает выполнение и сеанс закрывается curl_close ().
Руководство PHP описывает с примерами использование cURL и указывает все возможные варианты.
5) Использовать cURL с RSS-дисководом
Как стало известно на форуме, бывает, что сервер взаимообменного хостинга не позволяет получить доступ к другому сайту, а если хочется интегрировать RSS-канал, то это невозможно с помощью DOMDocument-> load или fsockopen становится возможным с помощью cURL.
Эта строка будет заменена в функции RSS_retrieve:
$doc->load($url);
по:
$hnd = curl_init();
curl_setopt($hnd, CURLOPT_CONNECTTIMEOUT, 300);
curl_setopt($hnd, CURLOPT_URL, $url);
$data = curl_exec($hnd);
curl_close($hnd); $doc->loadXML($data);
См. RSS Reader.