Maison >développement back-end >tutoriel php >Comment puis-je télécharger et enregistrer des fichiers à partir d'URL en utilisant cURL en PHP ?

Comment puis-je télécharger et enregistrer des fichiers à partir d'URL en utilisant cURL en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-26 12:35:111005parcourir

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

Enregistrement de fichiers à partir d'URL à l'aide de cURL en PHP

Enregistrer des fichiers à partir d'URL distantes peut être une tâche courante pour les développeurs Web. En PHP, cURL fournit un moyen pratique de télécharger des fichiers depuis Internet et de les enregistrer localement.

Voici un extrait de code qui résout le problème initial de l'enregistrement d'un fichier image à partir d'une URL :

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);
}

Pour utiliser cette fonction, transmettez simplement l'URL du fichier que vous souhaitez télécharger et le chemin où vous souhaitez le sauvegarder. Par exemple :

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

Cela téléchargera l'image à partir de l'URL distante et l'enregistrera dans le chemin local spécifié.

Remarque : Assurez-vous que la directive allow_url_fopen est activé dans votre configuration PHP (php.ini) pour que ce code fonctionne correctement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn