Forum und email
Funkce pro práci s CURL, Client URL Library

XVIII. Funkce pro práci s CURL, Client URL Library

Úvod

PHP podporuje libcurl, knihovnu vytvořenou Danielem Stenbergem, která umožňuje spojení a komunikaci s mnoha různými typy serverů v mnoha různých typech protokolů. libcurl v současné době podporuje http, https, ftp, gopher, telnet, dict, file a ldap protokoly. libcurl také podporuje HTTPS certifikáty, HTTP POST, HTTP PUT, FTP uploady (toto umožňuje i ftp extenze PHP), HTTP formulářové uploady, proxy, cookies a user+password autentikaci.

Tyto funkce byly přidány v PHP 4.0.2.

Požadavky

Pokud chcete používat CURL funkce, musíte nainstalovat CURL. PHP vyžaduje použití CURL 7.0.2-beta nebo vyšší. S verzemi CURL staršími než 7.0.2-beta PHP nebude pracovat. V PHP 4.2.3 budete potřebovat CURL 7.9.0 nebo vyšší. Od PHP 4.3.0 budete potřebovat CURL 7.9.8 nebo vyšší. PHP 5.0.0 bude nejspíš potřebovat CURL verze větší než 7.10.5

Instalace

Dále musíte PHP zkompilovat s volbou --with-curl[=DIR], kde DIR je umístění adresáře obsahujícího lib a include adresáře. V "include" adresáři by měl být adresář pojmenovaný "curl", který by měl obsahovat soubory easy.h and curl.h. V adresáři "lib" by měl být soubor pojmenovaný "libcurl.a". Počínaje PHP 4.3.0 můžete PHP nakonfigurovat tak, aby požívalo CURL pro url-streamy pomocí direktivy --with-curlwrappers.

Poznámka pro Win32 uživatele: Pro zajištění funkce tohoto rozšíření ve Windows musíte zkopírovat knihovny libeay32.dll a ssleay32.dll z adresáře DLL distribuce PHP/Win32 do adresáře SYSTEM. (Např.: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM)

Příklady

Pokud máte PHP zkompilované s podporou CURL, můžete začít používat CURL funkce. Základní principem těchto funkcí je, že pomocí curl_init() inicializujete CURL session, potom pomocí curl_exec() nastavíte hodnoty přenosu a nakonec session zavřete pomocí curl_close(). Následuje ukázka, která využíva CURL funkce ke stažení homepage PHP do souboru:

Příklad 1. Použití CURL extenze ke stažení homepage PHP

<?php

$ch
= curl_init ("https://www.example.com/");
$fp = fopen ("example_homepage.txt", "w");

curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
?>

Obsah
curl_close -- Zavřít CURL session
curl_copy_handle -- Copy a cURL handle along with all of its preferences
curl_errno -- Return the last error number
curl_error -- Return a string containing the last error for the current session
curl_exec -- Provést CURL session
curl_getinfo -- Get information regarding a specific transfer
curl_init -- Inicializovat CURL session
curl_multi_add_handle -- Add a normal cURL handle to a cURL multi handle
curl_multi_close -- Close a set of cURL handles
curl_multi_exec -- Run the sub-connections of the current cURL handle
curl_multi_getcontent -- Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set
curl_multi_info_read -- Get information about the current transfers
curl_multi_init -- Returns a new cURL multi handle
curl_multi_remove_handle -- Remove a multi handle from a set of cURL handles
curl_multi_select -- Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array -- Set multiple options for a cURL transfer
curl_setopt -- Nastavit parametr CURL transferu
curl_version -- Vrátit verzi CURL