# 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:

```php
phpinfo();
```

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](https://www.ionos.at/digitalguide/server/tools/einstieg-in-curl-in-windows/) oder `;extension=curl` für [cURL in Linux](https://www.ionos.at/digitalguide/server/tools/einstieg-in-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](https://www.ionos.at/digitalguide/websites/webseiten-erstellen/php-lernen-leicht-gemacht-das-grosse-einsteiger-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](https://www.ionos.at/digitalguide/websites/web-entwicklung/php-vs-python/) und [PHP vs. JavaScript](https://www.ionos.at/digitalguide/websites/web-entwicklung/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

```php
$curl = curl_init();
```

### Schritt 2: Setzen von Optionen

```php
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
```

### Schritt 3: Ausführen der cURL-Anfrage

```php
$response = curl_exec($curl);
```

### Schritt 4: Schließen der cURL-Session

```php
curl_close($curl);
```

Tipp [Deploy Now](https://www.ionos.at/hosting/deploy-now "Deploy Now von IONOS") 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](https://www.ionos.at/digitalguide/websites/web-entwicklung/php-functions/) 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](https://www.ionos.at/digitalguide/websites/web-entwicklung/mit-php-informationen-aus-einer-mysql-mariadb-datenbank-abrufen/) 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.

## Ein Beispiel für die Anwendung von cURL in PHP

Indem Sie eigene [PHP-Klassen](https://www.ionos.at/digitalguide/websites/web-entwicklung/php-classes/) 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:

```php
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();
```

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](https://www.ionos.at/digitalguide/websites/web-entwicklung/php-operators/) aneinandergereiht. Schließlich verwenden wir die Funktion close(), um die cURL-Session zu beenden.


This is a markdown version of: [https://www.ionos.at/digitalguide/websites/web-entwicklung/php-curl/](https://www.ionos.at/digitalguide/websites/web-entwicklung/php-curl/) for AI/LLM consumption.