Problema su funzione makethumb

  • Creatore Discussione Creatore Discussione rtosato
  • Data di inizio Data di inizio

rtosato

Nuovo Utente
15 Ago 2008
1
0
0
salve,
chiedo consiglio per un problema di questo tipo.
Sto cimentandomi (primi passi) con php e ho scaricato uno script per fare upload di immagini su server "remoto".
dopo avere imprecato in aramaico scopro che la funzione makethumb() a volte non genera le immagini thumn. Al che ho pensato alle dimensioni del file... Non e' quello.
Sembrerebbe, condizionale d'obbligo, qualcosa legato all'immagine stessa.
Se l'immagine e' stata letta e riscritta con photoshop allora viene caricata correttamente.
Qualcuno ha verificato qlc. di simile?
grazie mille
_r_
http://oggisonoluca.blogspot.com

PHP:
<?php
function makeThumb($dir,$pic,$n,$t){
  @list($width, $height, $type, $attr) = @getimagesize($pic);
  $max_w = 100;
  $max_h = 100;
  $ratio = @min($max_w/$width,$max_h/$height);

  // Verifico che l'immagine originale sia più grande delle dimensioni massime 100*100pxl
  if ($ratio < 1){
    // Individuo le nuove dimensioni da assegnare all'immagine
    $w = @floor($ratio*$width);
    $h = @floor($ratio*$height);

    // creo una nuova immagine con le dimensioni appena calcolate
    $thumb = @imagecreatetruecolor($w,$h);
    if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);}
    elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);}
    elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);}

    // ridimensiono l'originale e salvo nella cartella di destinazione
    @imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$width,$height);
    if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/png'){@imagepng($thumb,"$dir/tb_".$n, 75);}
  }
}
?>
 
Prova a togliere quelle @ da davanti alle funzioni, così se c'è qualche errore lo potrai vedere.
 

Discussioni simili