PHP image save: salvare un’immagine a partire da una URL

Pubblicato il 8 Luglio 2016

Nel caso volessimo salvare un’immagine sul nostro server a partire da una URL, possiamo servirci delle librerie GD e di uno script che esegue l’operazione in modo che, il processo, possa essere automatizzato.

Consiglio della nonna: non fate scraping e non prendete immagini da siti altrui se non volete incappare in problemi legali. Esistono diversi siti come pixabay dove poter reperire immagini di qualità gratuite.

Se, ad esempio, ripubblichiamo abstract di notizie sul nostro sito, perchè la licenza con cui sono rilasciate ce lo permette, possiamo avere la necessità di visualizzare anche una thumbnail. Ed ecco, quindi, una funzione in PHP con cui salvare le immagini:


function saveImageFromUrl($url = NULL, $path = NULL, $newName = "example", $quality = 100) {
		
    $file = pathinfo($url);
 
    $ext = strtolower($file['extension']);
		
    if ($ext=="jpg") {
			
        $image = imagecreatefromjpeg($url);

        imagejpeg($image, $path .$newName ."." .$ext, $quality);
		
    }
    else if ($ext=="png") {
			
        $image = imagecreatefrompng($url);
			
        imagealphablending($image, true);
        imagesavealpha($image, true);

        imagepng($image, $path .$newName ."." .$ext, 9);
		
    }
    else if ($ext=="gif") {
			
        $image = imagecreatefromgif($url);

        imagegif($image, $path .$newName ."." .$ext);
		
    }
		
}

Per richiamare la funzione:


saveImageFromUrl("https://example_image.jpg", "/path/image/", "name_image", 100);

Condividi il post con i tuoi amici o colleghi
emawebdesign
Autore: emawebdesign

Full Stack Developer, SEO Specialist, esperto della trasformazione digitale con oltre 20 anni di esperienza.

Pubblicato in: