Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    residenza
    Ortovero
    Messaggi
    43

    problema ridimensione immagine

    buongiorno, ho creato script di upload e ridimensionamento immagine utilizzando le librerie GD.

    L'immagine viene ridimensionata 2 volte, una prima volta a 250 pixel e una seconda a 75 pixel.

    Il problema è che sul mio pc funziona tutto.

    Sul server il secondo ridimensionamento mi da un problema: l'immagine assume dimensioni inferiori a 75 pixel, la allinea in alto a sinistra e nel rimanente spazio mette sfondo nero.

    Sul mio pc la versione php è 5.0.4, sul server 4.3.9

    Le versioni di GD sembrano le stesse

    Se faccio aggiornare il server alla 5.0.4 risolvo il problema oppure no?

  2. #2
    Prova a postare lo script che usi, può darsi che il problema sia lì!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    residenza
    Ortovero
    Messaggi
    43
    codice:
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    //percorso della cartella dove mettere i file caricati
    //$uploaddir = $row_RecDirImg['valore']."/";
    $uploaddir = "../temp/";
    //echo $uploaddir;
    
    //Recupero il percorso temporaneo del file
    $userfile_tmp = $_FILES['userfile']['tmp_name'];
    //echo "-".$userfile_tmp;
    
    //recupero il nome originale del file caricato
    $userfile_name = $_FILES['userfile']['name'];
    //echo "-".$userfile_name;
    
    
    
    $immagine1 = $userfile_name;
    $immagine2 = $_POST['hidimmagine2'];
    $immagine3 = $_POST['hidimmagine3'];
    $immagine4 = $_POST['hidimmagine4'];
    
    print "<pre>";
    //copio il file dalla locazione temporanea alla mia cartella upload
    if (move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name))
    {
    
    //controllo che siano immagini JPG
        
    	
    	if (($HTTP_POST_FILES['userfile']['type'] != "image/pjpeg") && ($HTTP_POST_FILES['userfile']['type'] != "image/jpeg"))
        {
            print "<h1>ERROR</h1>Estensione immagine errata.
    ";
            print "
    
    E' possibile effettuare l'upload solamente per le immagini .jpg o .jpeg.
    
    ";
            print "Tornare indietro e riprovare</p>\n";
    
            /*== delete uploaded file ==*/
            unlink($uploaddir . $userfile_name);
            exit();
        }   
    //Se l'operazione è andata a buon fine...
    //print "File inviato con successo. Ecco alcune informazioni:\n";
    //print_r($_FILES);
    }
    else
    {
    //Se l'operazione è fallta...
    print "Upload NON valido! Alcune informazioni:\n";
    print_r($_FILES);
    }
    
    print "</pre>";
    
    //-- RE-SIZING UPLOADED IMAGE
    
        /*== only resize if the image is larger than 250 x 200 ==*/
    	$imgfile = $uploaddir . $userfile_name;
    	$tempfile = $uploaddir . $userfile_name;
    	$newimage = "../immagini/".$userfile_name;
        $imgsize = GetImageSize($imgfile);
         //echo $imgsize[0]."-".$imgsize[1];
        /*== check size  0=width, 1=height ==*/
        if (($imgsize[0] > 250) || ($imgsize[1] > 250))
        {
       //------start thumbnailer
    
       $thumbsize=250;
       //header('Content-type: image/jpeg');
       list($width, $height) = getimagesize($imgfile);
       $width = $imgsize[0];
       $height = $imgsize[1];
       $imgratio=$width/$height;
       if ($imgratio>1){
         $newwidth = $thumbsize;
         $newheight = $thumbsize/$imgratio;}
       else{
         $newheight = $thumbsize;
         $newwidth = $thumbsize*$imgratio;}
       $thumb = ImageCreateTrueColor($newwidth,$newheight);
       $source = imagecreatefromjpeg($imgfile);
       imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    imagejpeg($thumb,$newimage,100);
    //-----------end--------------  
    	}else{
    	if (!copy($imgfile, $newimage)) {
       echo "Copia di $file non riuscita ...\n";
       }
       }
       
       if (($imgsize[0] > 75) || ($imgsize[1] > 75))
        {
     //------start thumbnailer
       //$imgfile = $newimage;
       $newimage = "../thumbnails/".$userfile_name;
       $thumbsize=75;
       //header('Content-type: image/jpeg');
       list($width, $height) = getimagesize($imgfile);
       $width = $imgsize[0];
       $height = $imgsize[1];
       $imgratio=$width/$height;
       if ($imgratio>1){
         $newwidth = $thumbsize;
         $newheight = $thumbsize/$imgratio;}
       else{
         $newheight = $thumbsize;
         $newwidth = $thumbsize*$imgratio;}
       $thumb = ImageCreateTrueColor($newwidth,$newheight);
       $source = imagecreatefromjpeg($imgfile);
       imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    imagejpeg($thumb,$newimage,100);
    //-----------end--------------  
        }else{
    	if (!copy($imgfile, $newimage)) {
       echo "Copia di $file non riuscita ...\n";
       }
       }
        unlink($tempfile);
        //print("<img src=\"$newimage\" alt=\"$immagine1\">");
        
    
    }
    
    ?>

  4. #4
    Non mi sembra ci siano errori. L'unico appunto è l'utilizzo dell'array $HTTP_POST_VARS invece di $_POST (se vedi anche il codice generato da Dreamweaver usa $_FILES e non $HTTP_FILES_VARS!).

    Cmq se cerchi nel forum c'è una pillola dove viene spiegato come creare una classe per ridimensionare le immagini. Meglio se usi quella perchè l'utilizzo delle classi rende il codice più efficiente (se usate bene) e molto più chiaro da leggere!
    In alternativa puoi anche andare su phpclasses.org e cercare una classe per il ridimensionamento. Se poi vuoi toglierti la soddisfazione di farla da solo segui cmq i consigli che ti ho dato sopra e prendi spunto. Evidentemente ti sei basato su script un po' vecchiotti. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.