Skip to content

Instantly share code, notes, and snippets.

@dagostoni
Created March 14, 2018 09:03
Show Gist options
  • Save dagostoni/35a9d1db3cb354987ed650297e000826 to your computer and use it in GitHub Desktop.
Save dagostoni/35a9d1db3cb354987ed650297e000826 to your computer and use it in GitHub Desktop.
<?php
if(move_uploaded_file($_FILES["immagine_luogo_url"]["tmp_name"],PATH_RELATIVO_GALLERIE_LUOGO.$id."-".cleanFilename($_FILES["immagine_luogo_url"]["name"]))) {
$immagine_url = $id."-".cleanFilename($_FILES["immagine_luogo_url"]["name"]);
resizeMax(PATH_RELATIVO_GALLERIE_LUOGO.$immagine_url,PATH_RELATIVO_GALLERIE_LUOGO."g-".$immagine_url,GALLERIE_LUOGO_G_W,GALLERIE_LUOGO_G_H,GALLERIE_LUOGO_G_Q);
resizeMaxCroping(PATH_RELATIVO_GALLERIE_LUOGO.$immagine_url,PATH_RELATIVO_GALLERIE_LUOGO."m-".$immagine_url,GALLERIE_LUOGO_M_W,GALLERIE_LUOGO_M_H,GALLERIE_LUOGO_M_Q);
croping(PATH_RELATIVO_GALLERIE_LUOGO."m-".$immagine_url,PATH_RELATIVO_GALLERIE_LUOGO."m-".$immagine_url,GALLERIE_LUOGO_M_W,GALLERIE_LUOGO_M_H,GALLERIE_LUOGO_M_Q);
resizeMaxCroping(PATH_RELATIVO_GALLERIE_LUOGO.$immagine_url,PATH_RELATIVO_GALLERIE_LUOGO."p-".$immagine_url,GALLERIE_LUOGO_P_W,GALLERIE_LUOGO_P_H,GALLERIE_LUOGO_P_Q);
croping(PATH_RELATIVO_GALLERIE_LUOGO."p-".$immagine_url,PATH_RELATIVO_GALLERIE_LUOGO."p-".$immagine_url,GALLERIE_LUOGO_P_W,GALLERIE_LUOGO_P_H,GALLERIE_LUOGO_P_Q);
resizeMaxCroping(PATH_RELATIVO_GALLERIE_LUOGO.$immagine_url,PATH_RELATIVO_GALLERIE_LUOGO."cms-".$immagine_url,GALLERIE_LUOGO_CMS_W,GALLERIE_LUOGO_CMS_H,GALLERIE_LUOGO_CMS_Q);
croping(PATH_RELATIVO_GALLERIE_LUOGO."cms-".$immagine_url,PATH_RELATIVO_GALLERIE_LUOGO."cms-".$immagine_url,GALLERIE_LUOGO_CMS_W,GALLERIE_LUOGO_CMS_H,GALLERIE_LUOGO_CMS_Q);
$sql = "update axcms_immagine_luogo set immagine_luogo_url = '".$immagine_url."' where immagine_luogoID = '".$id."'";
$result = mysql_query($sql);
}
function resizeMax($pathIN,$pathOUT,$maxXsize,$maxYsize,$quality = 65) {
if(empty($pathIN)) return "Immagine sorgente non specificata";
if(!file_exists($pathIN)) return "Immagine sorgente inesistente";
if(empty($pathOUT)) return "Destinazione non specificata";
if(empty($maxXsize)) return "Dimensione X non valida";
if(empty($maxYsize)) return "Dimensione Y non valida";
if(!preg_match("/.jpg?/i", $pathIN) && !preg_match("/.jpeg?/i", $pathIN) && !preg_match("/.png?/i", $pathIN) && !preg_match("/.gif?/i", $pathIN)) return "Formato non supportato";
$image_info = getimagesize($pathIN);
$oldXsize = $image_info[0];
$oldYsize = $image_info[1];
if($maxXsize < $oldXsize || $maxYsize < $oldYsize){
$ratioX = $oldXsize / $maxXsize;
$ratioY = $oldYsize / $maxYsize;
$ratio = ($ratioY >= $ratioX) ? $ratioY : $ratioX;
$newXsize = ceil($oldXsize / $ratio);
$newYsize = ceil($oldYsize / $ratio);
} else {
$newXsize = $oldXsize;
$newYsize = $oldYsize;
}
if(!system("convert -geometry ".$newXsize."x".$newYsize." -antialias '".$pathIN."' '".$pathOUT."'",$result)){
if(preg_match("/.jpg?/i", $pathIN) || preg_match("/.jpeg?/i", $pathIN)){
$im = ImageCreateFromJPEG($pathIN);
} else if(preg_match("/.png?/i", $pathIN)){
$im = ImageCreateFromPNG($pathIN);
} else if(preg_match("/.gif?/i", $pathIN)){
$im = ImageCreateFromGIF($pathIN);
} else {
return "Formato non supportato";
}
$new_im = ImageCreateTrueColor($newXsize,$newYsize);
//ImageCopyResized($new_im, $im, 0, 0, 0, 0, $newXsize, $newYsize, ImageSX($im), ImageSY($im));
imagecopyresampled($new_im, $im, 0, 0, 0, 0, $newXsize, $newYsize, ImageSX($im), ImageSY($im));
if(preg_match("/.jpg?/i", $pathIN) || preg_match("/.jpeg?/i", $pathIN)){
imagejpeg($new_im, $pathOUT, $quality);
} else if(preg_match("/.png?/i", $pathIN)){
imagepng($new_im, $pathOUT);
} else if(preg_match("/.gif?/i", $pathIN)){
imagegif($new_im, $pathOUT);
} else {
return "Formato non supportato";
}
}
return 0;
}
function resizeMaxCroping($pathIN,$pathOUT,$maxXsize,$maxYsize,$quality = 65) {
if(empty($pathIN)) return "Immagine sorgente non specificata";
if(!file_exists($pathIN)) return "Immagine sorgente inesistente";
if(empty($pathOUT)) return "Destinazione non specificata";
if(empty($maxXsize)) return "Dimensione X non valida";
if(empty($maxYsize)) return "Dimensione Y non valida";
if(!preg_match("/.jpg?/i", $pathIN) && !preg_match("/.jpeg?/i", $pathIN) && !preg_match("/.png?/i", $pathIN) && !preg_match("/.gif?/i", $pathIN)) return "Formato non supportato";
$image_info = getimagesize($pathIN);
$oldXsize = $image_info[0];
$oldYsize = $image_info[1];
if($maxXsize < $oldXsize || $maxYsize < $oldYsize){
$ratioX = $oldXsize / $maxXsize;
$ratioY = $oldYsize / $maxYsize;
$ratio = ($ratioY <= $ratioX) ? $ratioY : $ratioX;
$newXsize = ceil($oldXsize / $ratio);
$newYsize = ceil($oldYsize / $ratio);
} else {
$newXsize = $oldXsize;
$newYsize = $oldYsize;
}
if(!system("convert -geometry ".$newXsize."x".$newYsize." -antialias '".$pathIN."' '".$pathOUT."'",$result)){
if(preg_match("/.jpg?/i", $pathIN) || preg_match("/.jpeg?/i", $pathIN)){
$im = ImageCreateFromJPEG($pathIN);
} else if(preg_match("/.png?/i", $pathIN)){
$im = ImageCreateFromPNG($pathIN);
} else if(preg_match("/.gif?/i", $pathIN)){
$im = ImageCreateFromGIF($pathIN);
} else {
return "Formato non supportato";
}
$new_im = ImageCreateTrueColor($newXsize,$newYsize);
//ImageCopyResized($new_im, $im, 0, 0, 0, 0, $newXsize, $newYsize, ImageSX($im), ImageSY($im));
imagecopyresampled($new_im, $im, 0, 0, 0, 0, $newXsize, $newYsize, ImageSX($im), ImageSY($im));
if(preg_match("/.jpg?/i", $pathIN) || preg_match("/.jpeg?/i", $pathIN)){
imagejpeg($new_im, $pathOUT, $quality);
} else if(preg_match("/.png?/i", $pathIN)){
imagepng($new_im, $pathOUT);
} else if(preg_match("/.gif?/i", $pathIN)){
imagegif($new_im, $pathOUT);
} else {
return "Formato non supportato";
}
}
return 0;
}
function croping($pathIN,$pathOUT,$width,$height,$quality = 65) {
if(empty($pathIN)) return "Immagine sorgente non specificata";
if(!file_exists($pathIN)) return "Immagine sorgente inesistente";
if(empty($pathOUT)) return "Destinazione non specificata";
if(empty($width)) return "Larghezza non valida";
if(empty($height)) return "Altezza non valida";
if(!preg_match("/.jpg?/i", $pathIN) && !preg_match("/.jpeg?/i", $pathIN) && !preg_match("/.png?/i", $pathIN) && !preg_match("/.gif?/i", $pathIN)) return "Formato non supportato";
$image_info = getimagesize($pathIN);
$startX = ($image_info[0] / 2) - ($width / 2);
$startY = ($image_info[1] / 2) - ($height / 2);
//echo $image_info[0]."-".$image_info[1];
//echo $startX."-".$startY;
if(preg_match("/.jpg?/i", $pathIN) || preg_match("/.jpeg?/i", $pathIN)){
$im = ImageCreateFromJPEG($pathIN);
} else if(preg_match("/.png?/i", $pathIN)){
$im = ImageCreateFromPNG($pathIN);
} else if(preg_match("/.gif?/i", $pathIN)){
$im = ImageCreateFromGIF($pathIN);
} else {
return "Formato non supportato";
}
$new_im = ImageCreateTrueColor($width, $height);
imagecopyresampled($new_im, $im, 0, 0, $startX, $startY, $width, $height, $width, $height);
if(preg_match("/.jpg?/i", $pathIN) || preg_match("/.jpeg?/i", $pathIN)){
imagejpeg($new_im, $pathOUT, $quality);
} else if(preg_match("/.png?/i", $pathIN)){
imagepng($new_im, $pathOUT);
} else if(preg_match("/.gif?/i", $pathIN)){
imagegif($new_im, $pathOUT);
} else {
return "Formato non supportato";
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment