Загрузка удаленного файла с помощью Curl (Script или PHP)

cURL - это библиотека передачи файлов через Интернет или другую сеть, позволяющая отправлять или получать их по всем текущим протоколам (http, ftp, ldap).

Это альтернатива fsockopen. Он реализован в PHP и также может использоваться в C и C++.

  1. Проверить доступность curl на веб-хостинге.
  2. Включить cURL в XAMPP.
  3. Использовать cURL-адрес со сценарием
  4. Использовать cURL с PHP
  5. Использовать cURL-адрес для RSS-диска.

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.

Загрузите интерфейс cURL и демо.