ciao funziona, grazie del aiuto
ho cambiato anche 2 piccole cose nel codice updata_images. lo copio per intero con ridimensionamento automatico, se al qualcuno può servire.
ps per un mod ho un altra discussione risolta sempre legata a questo codice, si possono collegare insieme visto che si parla sempre dello stesso codice, ma in punti diversi?
codice updata_images
[php]
<?php //classe update e ridimensionamento automatico
$immagine = $_FILES['immagine']['type'];
//inserisce una foto predefinita se $immagine e vuota
if (empty ($immagine))
{
$timestamp = time(); //uso la funzione time per evitare di sovrascrivere le foto con lo stesso nome
$files = '../../images/noimage.png'; //directory del file da caricare
$thumb = imagecreatefrompng($files) or die ("Impossibile aprire l'immagine originale");
//usare imagecreatefrompng "per foto png", imagecreatefromjpeg "per foto jpg" e ecc.
//imagealphablending e imagesavealpha per mantenere la trasparenza delle png
imagealphablending($thumb, false);
imagesavealpha ($thumb, true);
$thumbs = '../../images/dipartimento/thumb/'.time().'-'.'noimage.png'; //directory dove salvare file elaborato
imagepng ($thumb, $thumbs, 9); //usare imagepng "per foto png", imagejpg "per foto jpg" e ecc.
$file = time().'-'.'noimage.png'; //con $file salvo solo il nome della foto elaborata senza collegamento nel database
/salvo la foto di prima in un altra cartella/
$img = imagecreatefrompng($files) or die ("Impossibile aprire l'immagine originale");
//usare imagecreatefrompng "per foto png", imagecreatefromjpeg "per foto jpg" e ecc.
//imagealphablending e imagesavealpha per mantenere la trasparenza delle png
imagealphablending($img, false);
imagesavealpha ($img, true);
$imgs = '../../images/dipartimento/foto/'.time().'-'.'noimage.png';//directory dove salvare file elaborato
imagepng ($img, $imgs, 9);//usare imagepng "per foto png", imagejpg "per foto jpg" e ecc.
$photo = time().'-'.'noimage.png'; //con $photo salvo solo il nome della foto elaborata senza collegamento nel database
}
//se $immagine e piena
elseif (!empty ($immagine))
{
$timestamp = time(); //uso la funzione time per evitare di sovrascrivere le foto con lo stesso nome
$type = $immagine; //passo il valore di $immagine a $type
$file = time() .'-'.$_FILES['immagine']['name']; //salvo la foto arrivata da form con il time per avere sempre foto con nomi diversi
//controllo il formato della foto
$type = array("image/gif","image/x-png", "image/png","image/pjpeg","image/jpeg", "image/jpg");
if(!in_array($_FILES['immagine']['type'],$type))
{
die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode("," , $type) . ".");
}
//controllo le dimensioni della foto
$sImgInfo = getimagesize($_FILES['immagine']['tmp_name']);
$max_width = "1024";
$max_height = "1024";
$sMaxWidth = $sImgInfo[0];
$sMaxHeight = $sImgInfo[1];
if ($sMaxWidth > $max_width || $sMaxHeight > $max_height)
{
die ("Errore: La Foto ha Dimisioni Maggiori di 1024x1024 " .mysql_error());
exit;
}
$dir ="../../images/dipartimento/foto/";//directory dove salvare la foto originale
$urlimmagine = $dir.$file; //copio la foto originale della cartella
copy($_FILES['immagine']['tmp_name'], $urlimmagine);
$destination_path = '../../images/dipartimento/thumb/'.$file;//directory dove salvare la foto thumb elaborata
$photo = $file;//salvo questi 2 con lo stesso nome della foto elaborata senza collegamento nel database
}
//inizio funzione thummain per cambiare dimensioni alle foto
list () = thummain ($type, $file, $destination_path, $sMaxWidth, $sMaxHeight, $sImgInfo, $urlimmagine);
function thummain($type, $file, $destination_path, $sMaxWidth, $sMaxHeight, $sImgInfo, $urlimmagine)
{
switch($sImgInfo[2])
{
case 1: $sType = IMG_GIF; break;
case 2: $sType = IMG_JPG; break;
case 3: $sType = IMG_PNG; break;
case 4: $sType = IMG_WBMP; break;
default: return $urlimmagine; break;
}
switch($sType)
{
case IMG_GIF:
if (!function_exists('imagecreatefromgif')) return $urlimmagine;
$srcImage = imagecreatefromgif($urlimmagine) or die ("Impossibile aprire l'immagine originale");
break;
case IMG_JPG:
if (!function_exists('imagecreatefromjpeg')) return $urlimmagine;
$srcImage = imagecreatefromjpeg($urlimmagine) or die ("Impossibile aprire l'immagine originale");
break;
case IMG_PNG:
if (!function_exists('imagecreatefrompng')) return $urlimmagine;
$srcImage = imagecreatefrompng($urlimmagine) or die ("Impossibile aprire l'immagine originale");
break;
case IMG_WBMP:
if (!function_exists('imagecreatefromwbmp')) return $urlimmagine;
$srcImage = imagecreatefromwbmp($urlimmagine) or die ("Impossibile aprire l'immagine originale");
break;
default: return $urlimmagine;
}
if($srcImage)
{
$srcWidth = $sImgInfo[0];
$srcHeight = $sImgInfo[1];
$sNewWidth = 200;
$sNewHeight = ($sNewWidth * $srcHeight) / $srcWidth;
if (!function_exists("imagecreatetruecolor"))
$sDestImage = imagecreate($sNewWidth, $sNewHeight) or die("Impossibile creare la miniatura");
else
$sDestImage = imagecreatetruecolor($sNewWidth, $sNewHeight);
imagealphablending($sDestImage, false);
imagesavealpha ($sDestImage, true);
imagecopyresized($sDestImage, $srcImage, 0, 0, 0, 0, $sNewWidth, $sNewHeight, $srcWidth, $srcHeight);
switch($sType)
{
case IMG_GIF: imagegif($sDestImage, $destination_path); break;
case IMG_JPG: imagejpeg($sDestImage, $destination_path); break;
case IMG_PNG: imagepng($sDestImage, $destination_path, 9); break;
case IMG_WBMP: imagewbmp($sDestImage, $destination_path); break;
}
imagedestroy($srcImage);
imagedestroy($sDestImage);
return $destination_path;
}
else
{
return $urlimmagine;
}
}
?>
[/php]