Maison >développement back-end >tutoriel php >Comment puis-je enregistrer des images d'URL sur mon serveur en utilisant cURL en PHP ?

Comment puis-je enregistrer des images d'URL sur mon serveur en utilisant cURL en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-23 07:03:23787parcourir

How Can I Save Images from URLs to My Server Using cURL in PHP?

Enregistrement de fichiers à partir d'URL avec CURL en PHP

Dans le but de stocker une image à partir d'une URL spécifiée dans un répertoire sur un serveur, comprendre comment utiliser CURL en PHP est essentiel. Vous trouverez ci-dessous les étapes possibles pour y parvenir :

Code d'origine :

function GetImageFromUrl($link)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 0);
    curl_setopt($ch,CURLOPT_URL,$link);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

$sourcecode = GetImageFromUrl($iticon);
$savefile = fopen(' /img/uploads/' . $iconfilename, 'w');
fwrite($savefile, $sourcecode);
fclose($savefile);

Solution améliorée :

Pour améliorer le fonctionnalité du code fourni, une méthode alternative est recommandée :

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

Supplémentaire Recommandation :

Dans votre fichier php.ini, assurez-vous que allow_url_fopen est défini sur activé. Ce paramètre est crucial pour activer l'accès aux URL externes.

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