PHP-cURL: So benutzen Sie das Datentransfer-Tool

Der signifikanteste Vorteil von PHP-cURL liegt in seiner Fähigkeit, eine Vielzahl von Datenübertragungsanforderungen zu bewältigen und gleichzeitig eine nahtlose Integration von APIs zu ermöglichen. In diesem Artikel lernen Sie alles zur Syntax und Funktionsweise der PHP-Erweiterung.

Was ist PHP-cURL?

PHP-cURL steht für „Curl URL Request Library“ und ist eine Erweiterung für die Programmiersprache PHP, die eine Schnittstelle zum Senden von HTTP-Anfragen und zur Kommunikation über verschiedene Netzwerkprotokolle wie HTTP, HTTPS oder FTP darstellt. Mit cURL können Sie Header, Parameter und Daten hinzufügen oder ändern, um den Anforderungen von APIs gerecht zu werden.

Wie installiert man PHP-cURL?

Wenn Sie cURL in PHP verwenden möchten, müssen Sie normalerweise nicht cURL selbst installieren, da es eine eingebaute Erweiterung ist. Allerdings müssen Sie sicherstellen, dass die cURL-Erweiterung in Ihrer PHP-Installation aktiviert ist. Sie können prüfen, ob cURL bereits funktioniert, indem Sie eine PHP-Datei erstellen und darin folgenden Code ausführen:

phpinfo();
php

Suchen Sie auf der generierten Seite nach cURL support oder ähnlichen Informationen, um zu sehen, ob PHP-cURL aktiviert ist. Falls cURL nicht aktiv ist, müssen Sie die php.ini-Datei bearbeiten. Lokalisieren Sie darin den Ausdruck ;extension=php_curl.dll für cURL in Windows oder ;extension=curl für cURL in Linux. Entfernen Sie dann das Semikolon „;“ vor der Zeile, um die cURL-Erweiterung einzuschalten. Speichern Sie die Datei und starten Sie den Webserver neu, damit die Änderungen wirksam werden.

In unserem PHP-Tutorial lernen Sie die wichtigsten Grundlagen der PHP-Programmierung, die essenziell für die Nutzung von cURL sind. Wenn Sie mehr über die Vor- und Nachteile der PHP-Programmiersprache erfahren möchten, können Sie sich die Vergleiche zwischen PHP vs. Python und PHP vs. JavaScript im IONOS Digital Guide anschauen.

So sieht die Syntax von PHP-cURL aus

Die Syntax von PHP-cURL besteht aus verschiedenen Funktionen und Optionen, um eine cURL-Session zu konfigurieren, Anfragen durchzuführen und mit den Ergebnissen zu arbeiten.

Schritt 1: Initialisieren einer cURL-Session

$curl = curl_init();
php

Schritt 2: Setzen von Optionen

curl_setopt($curl, CURLOPT_URL, 'https://example.com/api'); // definiert die URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // setzt das Ergebnis der Anfrage als Rückgabewert
php

Schritt 3: Ausführen der cURL-Anfrage

$response = curl_exec($curl);
php

Schritt 4: Schließen der cURL-Session

curl_close($curl);
php
Tipp

Deploy Now von IONOS beschleunigt Ihre Entwicklungszyklen und minimiert Ausfallzeiten. Entdecken Sie flexible Bereitstellungsstrategien für Ihre Web-Projekte mit Deploy Now.

Welche cURL-Funktionen gibt es in PHP?

Es steht eine Vielzahl an PHP-Funktionen zur Verfügung, mit denen Sie HTTP-Anfragen erstellen oder Dateien hochladen können. Es ist auch möglich, mit PHP Informationen aus einer MySQL-Datenbank abzurufen und diese dann als JSON über cURL zu senden.

Hier sind einige der wichtigsten cURL-Funktionen in PHP:

  • curl_init: Initialisiert eine neue cURL-Session und gibt ein cURL-Handle zurück.
  • curl_setopt: Setzt Optionen für die cURL-Session. Hier werden Parameter wie die URL, Header oder Authentifizierungsmethoden festgelegt. Sie können auch mit PHP-cURL POST-Daten angeben, die an den Server gesendet werden sollen.
  • curl_exec: Führt die cURL-Session aus und liefert die Antwort als String zurück.
  • curl_close: Schließt die cURL-Session und gibt die Ressourcen frei.
  • curl_setopt_array: Definiert eine Reihe von cURL-Optionen in einem einzigen Aufruf.
  • curl_getinfo: Gibt Informationen über die letzte cURL-Session zurück, wie die URL oder den HTTP-Statuscode
  • curl_error: Gibt die Fehlermeldung der letzten cURL-Anfrage zurück.
  • curl_errno: Gibt den Fehlercode der letzten cURL-Anfrage zurück.
  • curl_multi_init: Initialisiert einen Multi-cURL-Handle, mit dem Sie mehrere cURL-Anfragen gleichzeitig durchführen können.
  • curl_multi_add_handle: Fügt eine cURL-Session zu einem Multi-cURL-Handle hinzu.
  • curl_multi_exec: Führt die Multi-cURL-Anfragen aus.
  • curl_multi_getcontent: Gibt den Inhalt der Antwort für eine bestimmte cURL-Session im Multi-cURL-Handle zurück.

Die kostenlose IONOS API

Aktualisieren Sie Domain-, DNS-, SSL-Einstellungen und mehr mit der IONOS API.

DNS-Management
SSL-Verwaltung
API-Dokumentation

Ein Beispiel für die Anwendung von cURL in PHP

Indem Sie eigene PHP-Klassen erstellen, können Sie den Code modularer gestalten, wiederverwendbare Methoden definieren und die Implementierung von PHP-cURL in Ihren Applikationen vereinfachen.

Hier ist ein Beispiel, wie eine PHP-Klasse in Verbindung mit PHP-cURL GET aussehen könnte:

class MyCurlClient {
    private $curl;
    public function __construct() {
        $this->curl = curl_init();
        // Weitere Konfigurationen können hier erfolgen
    }
    public function sendRequest($url) {
        curl_setopt($this->curl, CURLOPT_URL, $url);
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($this->curl);
        return $response;
    }
    public function close() {
        curl_close($this->curl);
    }
}
// Verwendung der eigenen Klasse
$myCurl = new MyCurlClient();
$response = $myCurl->sendRequest('https://example.com/api');
echo $response;
$data = json_decode($response, true);
// Ausgabe der Daten mit PHP-Operatoren
echo "Post ID: " . $data['id'] . "<br>";
echo "Title: " . $data['title'] . "<br>";
echo "Body: " . $data['body'] . "<br>";
$myCurl->close();
php

In diesem Beispiel haben wir die Klasse „MyCurlClient“ erstellt, die eine PHP-cURL-Session in ihrem Konstruktor behandelt. Die Methode sendRequest() nimmt eine URL entgegen, konfiguriert die cURL-Optionen und führt die HTTP GET-Anfrage aus. Die ausgegebenen Zeichenketten werden mit PHP-Operatoren aneinandergereiht. Schließlich verwenden wir die Funktion close(), um die cURL-Session zu beenden.

IONOS S3 Object Storage

Der IONOS S3 Object Storage ist ideal für Backups sowie zum Archivieren von Unternehmensdaten. Sie können beliebig große, statische Datenmengen kostengünstig speichern.

Hoch skalierbar
Kostengünstig
Komfortabel