Problema Upload non ridimensiona l'immagine

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
Salve ragazzi, sono sempre alle prese con l'upload. Non mi ridimensiona
piu' le immagini dopo alcune modifiche allo script e non capisco perchè.

PHP:
<?php 
   
if(isset($_POST['invia'])){
    header('Content-Type: image/jpeg');
    $dbhost = 'localhost'; 
    $dbuser = 'caaa'; 
    $dbpass = 'aaaa'; 
    $dbname = 'aaaaa';
    $connessione = mysql_connect("localhost", "aaa", "aa");
    mysql_select_db(caaa, $connessione) ;
    
// recupero i dati per rendere l'upload dinamico
    $query = mysql_query("SELECT * FROM ric");
    $riga = mysql_fetch_assoc($query);
    $din = $riga['nome_tabella']; 
    $wi=$riga['w']; //larghezza foto
    $he=$riga['h']; //altezza foto
    $dir = $riga['path']; // path foto
    $Allert="";
    $percorso =$dir;
   
    $nome_file=basename( $_FILES['Filedata']['name'] );
    if($nome_file !=""){
        $uploadfile = $percorso.$nome_file;
        $sposta=move_uploaded_file( $_FILES['Filedata']['tmp_name'] ,$uploadfile );
        $thumbComp = 100;
	$uploadfile = $percorso.$nome_file;
        $sposta=move_uploaded_file( $_FILES['Filedata']['tmp_name'] ,$uploadfile );
        $max_w=$wi;
        $max_h=$he;
        list($width, $height, $type, $attr) = getimagesize($uploadfile);
        $ratio = @min($max_w/$width,$max_h/$height); 
        $Allert="ATTENEDERE CARICAMENTO FILE";
	$query2= mysql_query("INSERT INTO $din (img) VALUES ('$nome_file')");
	header("Location:http://www.sito.php");
    if ($ratio < 1){
          $thumb = imagecreatetruecolor($max_w,$max_h);
          $source = imagecreatefromjpeg($uploadfile);
          imagecopyresized($thumb, $source, 0, 0, 0, 0,$max_w,$max_h,$width,$height);
          $dir=$percorso.$uploadfile;
          imagejpeg($thumb,$dir,$thumbComp)or die("Impossibile salvare la miniatura");
          unlink($uploadfile);
		}else{
        
     }
    }else{
        header("Location:http://www.sito.php");
    }
  
}
?>
 
Togli quella @ davanti a min($max_w/$width,$max_h/$height) e vedi se in esecuzione ti restituisce qualche errore.
 
Ciao Eliox grazie per la risposta.
No non mi da nessun errore però non ridimensiona comunque l'immagine :(
 
Giusto per controllare che non sia un problema di GD, prova a testare questa funzione:
PHP:
function getThumb($weight_tb, $height_tb, $source)
  {
$img = imagecreatefromjpeg($source);
  $weight = imagesx($img);
  $height = imagesy($img);
  $ratio = min($weight_tb/$weight, $height_tb/$height);
  
if ($ratio < 1)
  {
  $new_weight = floor($ratio*$weight);
  $new_height = floor($ratio*$height);
  $temp = imagecreatetruecolor($new_weight, $new_height);
  imagecopyresized($temp, $img,0,0,0,0,
  $new_weight, $new_height, $weight, $height);
  imagedestroy($img);
  $img = $temp;
  }
  
 header("Content-type: image/jpeg");
  $img_res = imagejpeg($img);
  return $img_res;
}

qui un esempio di utilizzo:
PHP:
$w = 100;
$h = 100;
$s = 'immagini/file.jpeg';
$i = getThumb($w,$h,$s);
 
Grazie mille Eliox, si funziona ho risolto, mi è bastato togliere l'header e ora funziona novamente grazie mille per la risposta sempre gentilissimi.
 

Discussioni simili