Codice PHP:
$new_post = "INSERT INTO `prodotti` (`nome`, `descrizione`, `prezzo`) VALUES (?, ?, ?)";
$stmt = $db->prepare($new_post);
$stmt->execute(array(stripslashes($nome), stripslashes($descrizione), stripslashes($prezzo)));
$new_post_id = $db->lastInsertId();
for ($i = 1; $i <= 1; $i++) {
if(!empty($_FILES['immagine_01']['name']))
{
$_FILES['immagine_01']['name'] = $immagine_01_rinominata;
$immagine_01_rinominata = md5(uniqid());
$image_sql = "UPDATE prodotti SET immagine_01 = '$new_post_id-01-$immagine_01_rinominata' WHERE id_prodotto = $new_post_id";
$stmt = $db->prepare($image_sql);
if(isset($_FILES['immagine_01'])){
$imagename = $new_post_id . "-01-" . $immagine_01_rinominata . ".jpg";
$source = $_FILES['immagine_01']['tmp_name'];
$target = "../../immagini/" . $imagename;
move_uploaded_file($source, $target);
$imagepath = $imagename;
$save = "../../immagini/" . $imagepath; // questo è il nuovo file che salvi
$file = "../../immagini/" . $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 = "../../immagini/" . $new_post_id . "-01-" . $immagine_01_rinominata . "-miniatura" . ".jpg"; // questo è il nuovo file che salvi
$file = "../../immagini/" . $imagepath; // questo è il file originale
list($width, $height) = getimagesize($file);
$max_w = 150;
$max_h = 113;
// 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);
}
}
if(!empty($_FILES['immagine_02']['name']))
{
$_FILES['immagine_02']['name'] = $immagine_02_rinominata;
$immagine_02_rinominata = md5(uniqid());
$image_sql = "UPDATE prodotti SET immagine_02 = '$new_post_id-02-$immagine_02_rinominata' WHERE id_prodotto = $new_post_id";
$stmt = $db->prepare($image_sql);
if(isset($_FILES['immagine_02'])){
$imagename = $new_post_id . "-02-" . $immagine_02_rinominata . ".jpg";
$source = $_FILES['immagine_02']['tmp_name'];
$target = "../../immagini/" . $imagename;
move_uploaded_file($source, $target);
$imagepath = $imagename;
$save = "../../immagini/" . $imagepath; // questo è il nuovo file che salvi
$file = "../../immagini/" . $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 = "../../immagini/" . $new_post_id . "-02-" . $immagine_02_rinominata . "-miniatura" . ".jpg"; // questo è il nuovo file che salvi
$file = "../../immagini/" . $imagepath; // questo è il file originale
list($width, $height) = getimagesize($file);
$max_w = 150;
$max_h = 113;
// 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);
}
}
// aggiungi i files al database
$file_name = $_FILES['immagine_01']['name'];
$stmt->execute(array($file_name));
$file_name = $_FILES['immagine_02']['name'];
$stmt->execute(array($file_name));
}
if ($stmt->execute()) {
echo "<script>alert('Inserimento eseguito con successo.');</script>";
} else {
echo "<script>alert('Impossibile eseguire l'inserimento.');</script>";
}
E riscontro il seguente problema. Mi fa l'upload nella cartella di entrambe le immagini ma nel DB inserisce solo l'ultima immagine, ovvero la _02.