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);
Pubblicato in: