Sarebbe interessante che riuscissi ad utilizzare questo codice
Codice PHP:
<?php
ini_set("memory_limit","256M");
$category = trim($_POST['category']);
?>
<?php
if(isset($_POST['inserisci_immagine'])){
if(isset($_FILES['immagine'])){
$imagename = $_FILES['immagine']['name'];
$source = $_FILES['immagine']['tmp_name'];
$target = "../../img/prodotti/".$imagename;
move_uploaded_file($source, $target);
$imagepath = $imagename;
$save = "../../img/prodotti/" . $imagepath; // questo è il nuovo file che salvi
$file = "../../img/prodotti/" . $imagepath; // questo è il file originale
list($width, $height) = getimagesize($file);
$modwidth = 1024; // dimensione immagine grande
$diff = $width / $modwidth;
$modheight = $height / $diff;
$tn = imagecreatetruecolor($modwidth, $modheight);
$image = imagecreatefromjpeg($file) ;
imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);
imagejpeg($tn, $save, 90);
$save = "../../img/prodotti/miniatura-" . $imagepath; // questo è il nuovo file che salvi
$file = "../../img/prodotti/" . $imagepath; // questo è il file originale
list($width, $height) = getimagesize($file);
$max_w = 170;
$max_h = 120;
// area utile e offset
if ($width>$height*$max_w/$max_h) {
$a_h = $height;
$a_w = $a_h*$max_w/$max_h;
$delta_x = floor(($width-$a_w)/2);
$delta_y = 0;
}
else {
$a_w = $width;
$a_h = $a_w*$max_h/$max_w;
$delta_x = 0;
$delta_y = floor(($height-$a_h)/2);
}
$tn = imagecreatetruecolor($max_w, $max_h);
$image = imagecreatefromjpeg($file);
imagecopyresampled($tn, $image, 0, 0, $delta_x, $delta_y, $max_w, $max_h, $a_w, $a_h);
imagejpeg($tn, $save, 90);
$strSQL = "INSERT INTO immagini ";
$strSQL .="(nome_immagine,categoria_immagine) VALUES ('$imagepath','$category')";
$objQuery = mysql_query($strSQL);
// inserimento eseguito con successo
echo "<script>alert('Inserimento eseguito con successo.');</script>";
echo "<script>document.location='../menu_amministrazione.php'</script>";
}
}
?>
usato in altri progetti che mi permetteva di caricare un'immagine alla volta facendo 2 ridimensionamenti, uno a 1024 l'altro come miniatura, facendo anche un crop.
Chiedo gentilmente il vostro aiuto!