prova con una roba del genere (l'ho scritta ma non controllata, a occhio dovrebbe andare però):
Codice PHP:
$cartellaDati="users/".$user;
mkdir($cartellaDati,0755);
$path="/web/htdocs/www.verybear.com/home/verybear/users/".$user."/";
if($UploadedFile != none){
$source=$path."/".$UploadedFile_name;
copy( $UploadedFile, $source )or die(mysql_error());
resize($UploadedFile, $source, $path, $new_width, $new_height);
}
//$new_width, $new_height sono le dimensioni della immagine finale
function resize($nomeimage, $source_path, $destination_path, $new_width, $new_height){
list($width, $height, $type, $attr) = getimagesize($source_path.$nomeimage);
$compression=100;
$destimg=imagecreatetruecolor($new_width,$new_height) or die("Problemi nelle creazioni dell'immagine");
$srcimg=ImageCreateFromJPEG($source_path.$nomeimage) or die("Problemi nell'aprire l'immagine");
$w=ImageSX($srcimg);
$h=ImageSY($srcimg);
$ro=$new_width/$new_height;
$ri=$w/$h;
if($ro<$ri){
$par="h"; //immagine alta, verticale
}else{
$par="w"; //immagine larga, orizzontale
}
if($par=="h"){
$ih=$h;
$conv=$new_width/$new_height;
$iw=$conv*$ih;
$cw=($w/2)-($iw/2);
$ch=($h/2)-($ih/2);
}else if($par=="w"){
$iw=$w;
$conv=$new_height/$new_width;
$ih=$conv*$iw;
$cw=($w/2)-($iw/2);
$ch=($h/2)-($ih/2);
}
//qui poi ci andrà messo un ciclo per verificare il tipo di immagine, ora diamo per scontato che sia jpg
ImageCopyResized($destimg,$srcimg,0,0,$cw,$ch,$new_width,$new_height,$iw,$ih) or die("Problemi nel ridimensionamento");
ImageJPEG($destimg,$destination_path.$nomeimage,$compression) or die("Problemi nel salvataggio");
}