Ho bisogno di salvare un'immagine dall'URL direttamente sul mio server, ho provato molti metodi ma tutto sembra non funzionare correttamente. file_put_contents($file_location, file_get_contents($image_url));
continua a non ricevere nessun errore trovato nella directory dei file. Simple fopen
e fwrite
continua a restituire un'immagine corrotta. Questo ha funzionato, ma continua a restituire file html invece di file jpg.Salva immagine dall'URL con cURL
function getimg($url) {
$headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
$user_agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_USERAGENT, $user_agent);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
$return = curl_exec($process);
curl_close($process);
return $return;
}
$imgurl = 'http://some/url/to/image.jpg';
$imagename= basename($imgurl);
if(file_exists('./image/'.$imagename)){continue;}
$image = getimg($imgurl);
file_put_contents('image/'.$imagename,$image);
Manca qualcosa?
Grazie.
Sei sicuro che sia un file di immagine che stai cercando di scaricare e non una pagina web? Cosa contiene il file HTML che ricevi? – JJJ