Forum und email

cURL, Client URL Bibliothek-Funktionen

Einführung

PHP unterstützt libcurl, eine Bibiothek entwickelt von Daniel Stenberg, die es erlaubt sich mit Servern zu verbinden und über diverse Protokolle zu kommunizieren. Libcurl unterstützt zur Zeit folgende Protokolle: http, https, ftp, gopher, telnet, dict, file und ldap. Libcurl unterstützt des weiteren HTTPS Zertifikate, HTTP POST, HTTP PUT, und das hochladen von Dateien unter Benutzung des FTP Protokolls (ist auch unter Nuztung der FTP Erweiterung PHPs' möglich), HTTP Fomular basierende Uploads, Proxies, Cookies, und Benutzer/Passwort Authentifikation.

Diese Funktionen wurden in PHP 4.0.2 hinzugefügt.

Anforderungen

Um cURL Functionen nutzen zu können, muss man das » cURL Packet installieren. PHP fordert cURL 7.0.2-beta oder neuer. PHP wird nicht mir einer Version älter als 7.0.2-beta laufen In PHP 4.2.3, wird cURL in der Version 7.9.0 oder höher vorausgesetzt. Bei PHP 4.3.0, wird die cURL Version 7.9.8 oder höher gebraucht. PHP 5.0.0 wird wahrscheinlich eine cURL Version neuer als 7.10.5 voraussetzen.

Installation

Um PHP mit cURL-Unterstützung nutzen zu können, muss man PHP mit der Option --with-curl[=DIR] kompilieren, wobei DIR das Verzeichnis angibt in dem sich die Bibiotheken und die Includedateien befinden. In dem "include" Verzeichnis sollte ein Unterverzeichnis mit dem Titel "curl" existieren, dass die Dateien easy.h und curl.h enthält . Zudem sollte eine Datei namens libcurl.a in dem "lib"-Verzeichnis sein. Ab PHP 4.3.0 kann man PHP mit der Option --with-curlwrappers konfigurieren, um cURL für URL-Streams nuzten zu können.

Hinweis: Anmerkung für Win32-Nutzer Um dieses Modul in einer Windows-Umgebung nutzen zu können, müssen libeay32.dll und ssleay32.dll aus dem DLL-Verzeichnis des PHP/Win32 binary Packets in das SYSTEM32-Verzeichnis des Windows PC's kopiert werden. (z.B.: C:\WINNT\SYSTEM32 oder C:\WINDOWS\SYSTEM) libcurl.dll von der CURL-Webseite wird nicht benötigt.

Resource Typen

Diese Erweiterung definiert zwei Resource-Typen, ein cUrl-Handle und ein cUrl-Multi-Handle.

Vordefinierte Konstanten

Siehe auch Vordefinierte Konstanten

Beispiele

Wenn PHP mit cURL-Unterstützung kompiliert und installiert ist, kann mit der Benutzung der cURL-Funktionen begonnen werden. Die Idee die hinter den Funktionen steckt, ist dass man mit Hilfe von curl_init() eine cURL-Session initialisiert, alle für den Transfer nötigen Optionen unter Verwendung von curl_setopt() setzt und dann die Session mittels curl_exec() ausführt, um dann schließlich curl_close() zur Beendigung der Session zu nutzen.

Folgendes Beispiel nutzt die cURL-Functionen, um die Homepage von example.com in eine Datei zu speichern:

Example#1 Nutzung von PHP's cURL-Modul, um die Homepage von example.com herunterzuladen

<?php

//Die Session initialisieren
$ch curl_init("https://www.example.com/");
$fp fopen("example_homepage.txt""w");

//Session Optionen setzen
curl_setopt($chCURLOPT_FILE$fp);
curl_setopt($chCURLOPT_HEADER0);

//Ausführen der Aktionen
curl_exec($ch);

//Session beenden
curl_close($ch);
fclose($fp);
?>

Inhaltsverzeichnis