il problema l'ho risolto .
Allora alcio ti spiego.
Ho fatto una community in cui gli utenti registrati possono caricare la foto nel proprio profilo.
In un primo momento le foto caricate non venivano ridimensionate per cui la mia esigenza era quella di poter implementare il resize all'upload delle foto.
Per fare questo ho usato i seguenti file:
file gd.php
Codice PHP:
<? 
function GDVersion(){
  if( !
in_array('gd'get_loaded_extensions()) ) return 0;
  elseif( 
isGD2supported() ) return 2;
  else return 
1;
}
function 
isGD2supported(){
  global 
$GD2;
  if( isset(
$GD2) AND $GD2 ) return $GD2;
  else{
    
$php_ver_arr explode('.'phpversion());
    
$php_ver intval($php_ver_arr[0])*100+intval($php_ver_arr[1]);

    if( 
$php_ver 402 ){ // PHP <= 4.1.x
      
$GD2 in_array('imagegd2',get_extension_funcs("gd"));
    }
    elseif( 
$php_ver 403 ){ // PHP = 4.2.x
      
$im = @imagecreatetruecolor(1010);
      if( 
$im ){
        
$GD2 1;
        @
imagedestroy($im);
      }
      else 
$GD2 0;
    }
    else{ 
// PHP = 4.3.x
      
$GD2 function_exists('imagecreatetruecolor');
    }
  }

  return 
$GD2;
}


function 
IsFormatSupported($format){
  if( (
$format == 'gif') AND (imagetypes() & IMG_GIF) )return true;
  elseif( (
$format == 'jpeg') AND (imagetypes() & IMG_JPG) )return true;
  elseif( (
$format == 'png') AND (imagetypes() & IMG_PNG) )return true;
  else return 
false;
}



function 
ApplicaBordo(&$imres){
  
$h imagesy($imres)-1;
  
$w imagesx($imres)-1;

  
$white imagecolorallocate($imres255255255);
  
$black imagecolorallocate($imres000);

  
imagerectangle($imres00$w$h$black);   // Bordo composto da una linea esterna nera
  
imagerectangle($imres11$w-1$h-1$white); // e da una linea interna bianca
}



function 
imagemyrectangle(&$imgres$x1$y1$x2$y2$col){
  
imageline($imgres$x1$y1$x2-2$y1$col ); //top
  
imageline($imgres$x1+1$y2-1$x2$y2-1$col ); //bottom

  
imageline($imgres$x2-1$y1$x2-1$y2-2$col ); //right
  
imageline($imgres$x1$y1+1$x1$y2$col ); //left
}



//Watermark : Anche l'applicazione di un watermark, cioè di un'immagine salvata sopra all'originale per impedirne un utilizzo al di fuori dei termini di licenza è un'operazione abbastanza semplice con le librerie GD.

function AddWaterMark(&$imgres, &$imgWM){
  
imageCopyMerge($imgres$imgWM5500imageSX($imgWM), imageSY($imgWM), 50); }
  
  
  

function 
thumb($src,$dest,$thumb_width){

    
//Inizio il resize 
    
$fullsize getimagesize($src);
      if( 
$fullsize[2] == ){$im = @imagecreatefromjpeg($src);}
      elseif( 
$fullsize[2] == ){$im = @imagecreatefromgif($src);}
      elseif( 
$fullsize[2] == ){$im = @imagecreatefrompng($src);}
    
    
    
$fullsize_height=$fullsize[1];
    
$fullsize_width=$fullsize[0];
     
    
$thumb_height=floor($fullsize_height/($fullsize_width/$thumb_width));
     
    
    
    
    if( (
GDVersion() == 2) AND ($fullsize[2] != 1) ){
        
$thumb imagecreatetruecolor($thumb_width,$thumb_height);
        
imagecopyresampled($thumb$im0000$thumb_width$thumb_height$fullsize[0], $fullsize[1]);
      }else{
        
$thumb imagecreate($thumb_width,$thumb_height);
        
imagecopyresized($thumb$im0000,$thumb_width$thumb_height$fullsize[0], $fullsize[1]);
      }
    

    
imagejpeg($thumb$dest80);
      
imagedestroy($im);
    
imagedestroy($thumb);
}  

// Recupero delle dimensioni dell'immagine

function dimimage($src){
    
$fullsize getimagesize($src);
      if( 
$fullsize[2] == ){$im = @imagecreatefromjpeg($src);}
      elseif( 
$fullsize[2] == ){$im = @imagecreatefromgif($src);}
      elseif( 
$fullsize[2] == ){$im = @imagecreatefrompng($src);}
    
    
$fullsize_height=$fullsize[1];
    
$fullsize_width=$fullsize[0];
    
imagedestroy($im);
    return array(
$fullsize_width,$fullsize_height);
}

?>
poi ho creato un file per la modifica della foto che mi permettesse di visualizzare la foto vecchia, se eventualmente presente, oppure di visualizzare una immagine di default a seconda del sesso dell'utente.
file modifica_foto.php
Codice PHP:
<?
include_once("include/config.php");
include_once(
"include/auth.lib.php");
include_once(
"include/reg.lib.php");
include_once(
"include/gd.php");
include_once(
"include/function.php");

list(
$status$user) = auth_get_status();

if (
$status == AUTH_LOGGED){

if ((isset(
$_GET["id"])) AND ($prof get_profilo($user["id_user"]))){
?>

                  <?
                    
                    
if ((isset($_POST["act"])) AND ($_POST["act"] == "ok")){
                        
                    
$size "800000"//What do you want size limited to be if there is one
                    
$id $_POST["id_user"];
                    
                    
//all image types to upload
                    
$cert1 "jpg"//Jpeg type 1
                    
$cert2 "jpeg"//Jpeg type 2
                    
$cert3 "gif"//Gif type
                    
$cert4 "png"//PNG type
                    
                    //percorso della cartella dove mettere i file caricati
                    
$uploaddir '../community/public/utenti/';
                    
$uploaddir_thumb '../community/public/thumb/';
                    
                    
//Recupero il percorso temporaneo del file
                    
$userfile_tmp $_FILES['foto']['tmp_name'];
                    
                    
//recupero il nome originale del file caricato
                    
                    
                    
$userfile_name $_FILES['foto']['name'];
                    
                    if (
$userfile_name == "") {
                        echo 
"<div class='grassettoarancio' align='center'>
Nessun file selezionato.
</div>
"
;
                    }else{
                    
$ext explode('.'$userfile_name);
                    
                    
$pos sizeof($ext) - 1;
                    
                    
$userfile_name $id.'.'.$ext[$pos];
                    
                    
$userfile_type $ext[$pos];
                    
                    
$img1_size $_FILES['foto']['size'];
                    
                    list(
$w,$h) = dimimage($userfile_tmp);
            
    
                    if ((
$img1_size $size) OR ($w 1024) OR ($h 1024)) {
                        echo 
"<div class='grassettoarancio' align='center'>
Il file ha una dimensione troppo grande.
</div>
"
;
                    }else{
                        
//Checks if file is an image
                        
                    
if (($userfile_type != $cert1) AND ($userfile_type != $cert2) AND ($userfile_type != $cert3) AND ($userfile_type != $cert4)){
                        
                        echo 
"<div class='grassettoarancio' align='center'>
la Foto non ha un'estensione consentita.
</div>"
;
                    }else{
                    
                    
//Cancella foto vecchia
                        
if(($_POST["foto"]!="")AND(file_exists($uploaddir.$_POST["foto"]))){
                            
unlink($uploaddir.$_POST["foto"]);
                            
unlink($uploaddir_thumb.$_POST["foto"]);
                        }
// FINE IF CANCELLAZIONE FILE
                        
                    //copio il file dalla locazione temporanea alla mia cartella upload
                    
if (move_uploaded_file($userfile_tmp$uploaddir $userfile_name))
                    {
                    
//Se l'operazione è andata a buon fine...
                        
                        
                        
                        //echo $uploaddir.$userfile_name." ".$uploaddir."thumb/".$userfile_name;
                        
thumb($uploaddir.$userfile_name,$uploaddir_thumb.$userfile_name,100);
                        
                        
                        echo 
"<div class='grassettoarancio' align='center'>
Foto caricata!!!
</div>"

                        
$sql="update utenti set foto = '$userfile_name' where id = $id";
                        
$result rs_comm($sql);
                    }
                    else
                    {
                    
//Se l'operazione è fallta...
                    
echo "<span class='messaggi' align='center'>
Operazione Fallita!!!
</span>"

                    
//print_r($_FILES);
                    
}
                    
                    }
                    }
                    }
                }else{
                    
$sql"SELECT foto FROM utenti WHERE id = ".$_GET["id"]."";
                    
$result rs_select($sql);
                    
$rs mysql_fetch_array($result);
                
?>
                  <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="sezcenter">
                    <tr> 
                      <td height="30" class="blu">[img]../community/images/modifica foto.jpg[/img]</td>
                    </tr>
                    <tr> 
                      <td><form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
                          <table width="98%" border="0" align="center" cellpadding="2" cellspacing="2">
                            <tr> 
                              <td></td>
                              <td></td>
                            </tr>
                            <tr> 
                              <td>Foto Attuale:</td>
                              <td align="center">
                                <?
                            
                            
if ($rs["logo"] != ""){ 
                              list(
$wt,$ht) = dimimage('../public/thumb/'.$rs["logo"]);
                              list(
$w,$h) = dimimage('../public/loghi/'.$rs["logo"]);
                              
$w $w 20;
                              
$h $h 90
                                echo 
"<a href=\"javascript:popUpWindow('../view_logo.php?file=".$rs["logo"]."', '50', '50', '$w', '$h')\" >[img]../public/thumb/".$rs["logo"]."[/img]</a>";
                            }
                              
?>
                              <? if (($rs["foto"] != "") AND file_exists("../community/public/thumb/".$rs["foto"])){ ?>
                            [img]../community/public/thumb/<? echo $rs[[/img]" alt="Nick: <? echo $prof["username"]; ?>" name="FOTO"  border="1" align="absmiddle" />

                            <? }else{ ?>
                            <? if ($rs["sesso"] == "m") { ?>
                                [img]../community/public/utenti/man.jpg[/img]" name="FOTO" width="90" height="95" border="0"></a>

                      <? }else{ ?>   
                      <? if ($rs["sesso"] == "f") { ?>                   
                                  [img]../community/public/utenti/girl.jpg[/img]" border="0">

                        <?
          
          
}
          }
          }
          
?>          
                                <input name="Foto" type="hidden" value="<? echo $rs["foto"]; ?>" /> 
                              </td>
                            </tr>
                            <tr> 
                              <td colspan="2" class="trattoGiallo"></td>
                            </tr>
                            <tr> 
                              <td>Foto:</td>
                              <td><input name="foto" type="file" id="foto" size="35" /></td>
                            </tr>
                            <tr> 
                              <td colspan="2" class="trattoGiallo"></td>
                            </tr>
                            <tr> 
                              <td></td>
                              <td align="right"><input name="id_user" type="hidden" id="id_user" value="<? echo $_GET["id"];?>" />
                                <input name="act" type="hidden" id="act" value="ok" /> 
                                <input name="imageField2" type="image" src="../img/tasto_modifica.gif" width="64" height="13" border="0" /> 
                              </td>
                            </tr>
                          </table>
                        </form></td>
                    </tr>
                    <tr> 
                      <td height="20" class="blu"></td>
                    </tr>
                  </table>
                  <? ?>
                  

<?
}
}else{
header("Refresh: 3;URL=profilo.php");
echo 
'<div align="center">NON Sei connesso ... ... </div>';
}
?>
in questo modo la foto caricata dall'utente viene rinominata con il numero id dell'utente con estensione jpg.
da precisare che la foto originale vine salvata su una sottocartella, presente nella cartella public, chiamata utenti con i permessi 777 mentre la thumb viena salvata nella sottocartella thumb con permessi 777.
le foto vengono ridimensionate in modo che la larghezza debba essere fissa a 100 px mentre la lunghezza è variabile questolo possiamo desumere dalla funzione function dimimage presente nel file gd.php.
spero che ora ti sia più chiaro.
cmq a prescindere da tutto il problema l'ho risolto e grazie della tua disponibilità.