Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit cURL in PHP Dateien von URLs herunterladen und speichern?

Wie kann ich mit cURL in PHP Dateien von URLs herunterladen und speichern?

Susan Sarandon
Susan SarandonOriginal
2024-11-26 12:35:111014Durchsuche

How Can I Download and Save Files from URLs Using cURL in PHP?

Dateien von URLs mit cURL in PHP speichern

Das Speichern von Dateien von Remote-URLs kann eine häufige Aufgabe für Webentwickler sein. In PHP bietet cURL eine bequeme Möglichkeit, Dateien aus dem Internet herunterzuladen und lokal zu speichern.

Hier ist ein Codeausschnitt, der das ursprüngliche Problem beim Speichern einer Bilddatei von einer URL behebt:

function grab_image(string $url, string $saveTo): void {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
    $raw = curl_exec($ch);
    curl_close($ch);

    if (file_exists($saveTo)) {
        unlink($saveTo);
    }
    $fp = fopen($saveTo, 'x');
    fwrite($fp, $raw);
    fclose($fp);
}

Um diese Funktion zu nutzen, geben Sie einfach die URL der Datei, die Sie herunterladen möchten, und den Pfad ein, in dem Sie sie speichern möchten. Zum Beispiel:

$remoteImageUrl = 'https://example.com/image.jpg';
$localSavePath = 'path/to/local/folder/image.jpg';
grab_image($remoteImageUrl, $localSavePath);

Dadurch wird das Bild von der Remote-URL heruntergeladen und im angegebenen lokalen Pfad gespeichert.

Hinweis: Stellen Sie sicher, dass die Anweisung „allow_url_fopen“ aktiviert ist in Ihrer PHP-Konfiguration (php.ini) aktiviert, damit dieser Code ordnungsgemäß funktioniert.

Das obige ist der detaillierte Inhalt vonWie kann ich mit cURL in PHP Dateien von URLs herunterladen und speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn