Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    problema ridimensionamento immagini

    Ciao a tutti, uso questo codice per salvare un'immagine e poi crearne due copie ridimensionate:

    Codice PHP:
    move_uploaded_file($_FILES["upfile"]["tmp_name"][0], "$upload_dir/$nome_file1")
                    or die(
    $_FILES["upfile"]["error"][0]);
                                                 
                                    
                    list(
    $width$height$type$attr) = getimagesize("$upload_dir/$nome_file1");
                    if(
    $width>450)
                    {
                    
    $newheight=ceil(450*$height/$width);
                    
    $thumb imagecreatetruecolor(450,$newheight);
                    switch(
    $type)
                    {
                      case 
    1
                            
    $source imagecreatefromgif("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000450,$newheight$width$height);
                            
    imagegif($thumb"$upload_dir/$nome_file1"75);
                            break;
                      case 
    2
                            
    $source imagecreatefromjpeg("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000450,$newheight$width$height);
                            
    imagejpeg($thumb"$upload_dir/$nome_file1"75);
                            break;
                      case 
    4
                            
    $source imagecreatefromwbmp("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000450,$newheight$width$height);
                            
    imagewbmp($thumb"$upload_dir/$nome_file1"75);
                            break;
                    } 
                    
    imagedestroy($thumb);
                    }
                    list(
    $width$height$type$attr) = getimagesize("$upload_dir/$nome_file1");
                    
    $newheight=ceil(150*$height/$width);
                    
    $thumb imagecreatetruecolor(150,$newheight);
                    switch(
    $type)
                    {
                      case 
    1
                            
    $source imagecreatefromgif("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000150,$newheight$width$height);
                            
    imagegif($thumb"$upload_dir/anteprima/$nome_file1"75);
                            break;
                      case 
    2
                            
    $source imagecreatefromjpeg("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000150,$newheight$width$height);
                            
    imagejpeg($thumb"$upload_dir/anteprima/$nome_file1"75);
                            break;
                      case 
    4
                            
    $source imagecreatefromwbmp("$upload_dir/$nome_file1");
                            
    imagecopyresized($thumb$source0000150,$newheight$width$height);
                            
    imagewbmp($thumb"$upload_dir/anteprima/$nome_file1"75);
                            break;
                      default: 
    copy("$upload_dir/$nome_file1","$upload_dir/anteprima/$nome_file1"); 
                    } 
                    
    imagedestroy($thumb); 
    Problema: per immagini che sono grandi dal punto di vista della risoluzione e del numero di colori usati il ridimensionamento non funziona: mi crea solo un'immagine nera... mi è stato detto che devo alzare il memory limit, ma non posso farlo... posso migliorare il mio codice?
    Grazie

  2. #2

  3. #3
    non è questione che non so come modificare il memory limit, è che il provider mi ha chiesto di non farlo... vorrei sapere se esiste un altro codice per ridimensionare le immagini

  4. #4
    Se non puoi modificare il memory limit allora NON puoi eseguire il ridimensionamento all'interno del PHP. L'unica alternativa è appoggiarti ad un tool esterno come ImageMagick etc. Ovviamente non è detto che il provider te lo permetta.

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.