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

Comment puis-je télécharger des images à partir d'une URL en utilisant PHP et Curl ?

Barbara Streisand
Libérer: 2024-11-30 14:15:12
original
448 Les gens l'ont consulté

How Can I Download Images from a URL using PHP and Curl?

Télécharger des fichiers image via une URL à l'aide de PHP et Curl

Enregistrer des fichiers image à partir d'une URL distante sur votre serveur est une tâche courante pour les développeurs Web . Ceci peut être réalisé de manière transparente en utilisant l'extension Curl de PHP.

Le problème :

Un développeur a rencontré des difficultés pour enregistrer un fichier image à partir d'une URL à l'aide de Curl. Le code fourni ne semble pas produire le résultat souhaité.

La solution :

Voici une version modifiée du code qui devrait résoudre le problème :

function grab_image($url, $saveto) {
    $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);
}
Copier après la connexion

Changements clés :

  • La fonction est renommée en grab_image pour plus de clarté.
  • CURLOPT_HEADER est défini sur 0 pour récupérer uniquement les données de l'image.
  • CURLOPT_BINARYTRANSFER est défini sur 1 pour garantir que l'image est enregistrée sous forme de données binaires.
  • Le le chemin du fichier de sauvegarde est fourni comme deuxième argument pour permettre une nommage.

Conseil supplémentaire :

Dans votre fichier de configuration PHP (php.ini), assurez-vous que allow_url_fopen est activé. Ce paramètre permet à PHP d'ouvrir des fichiers via des URL.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal