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

    upload jpg - errore imagejpeg

    Codice PHP:
          function estensione($nome){
              
    $trova_punto explode("."$nome);
              
    $estensione $trova_punto[count($trova_punto) - 1];
              
    $estensione strtolower($estensione);
              if (isset(
    $trova_punto[1]) == FALSE){
                  return 
    "Nessuna estensione";
              }
              return 
    $estensione;
          }

          
    $directory 'articoli/'// directory dove va uplodato il file
          
    $n=$_POST['n'];//numero di foto uploadate
          
    $art_id=$_POST['art_id']; //id dell'articolo relativo alle foto uploadate
          
    for ($i=1;$i<=$n;$i++)
          {
            
    error_reporting (E_ALL);//serve?
        // verifica l'esistenza del file
        
    if (isset($_FILES["$i"]))
        {
              
    $file_temporaneo$_FILES["$i"]['tmp_name'];
          
    // Ottengo le informazioni sull'immagine originale
              
    list($width$height$type$attr) = getimagesize($file_temporaneo);
              
    $image2=getimagesize($file_temporaneo);
              if (
    $width>500)
          {
                 
    // Creo la versione ridimensionata dell'immagine
                 
    $himage=(500*$height)/$width;
             
    $thumb imagecreatetruecolor(500$himage);
                 
    $source imagecreatefromjpeg($file_temporaneo);
                 
    imagecopyresized($thumb$source0000500$himage$width$height);
                 
    $file_temporaneo=$thumb;
                 
    // Salvo l'immagine ridimensionata
           
    }            
               
    $nome_file $_FILES["$i"]['name'];
               
    $estensione_file=estensione($nome_file);// trova l'estensione del file
           
    $nome=$directory.$art_id."_".$i.".".$estensione_file;// assegna un nome univooco al file
               
    echo "$file_temporaneo - $nome
    "
    ;//esegue l'upload e controlla che vada a buon fine
               
    if (imagejpeg($file_temporaneo$nome75))
             echo 
    "L'immagine è stata caricata.
    "
    ;
               else
                 echo 
    "Si è verificato un errore durante l'upload";
               
    imagedestroy($file_temporaneo);
          }
          else
           echo 
    "immagine non trovata";        
        } 
    con questo codice faccio upload di una o più immagini jpg, rinominandole tutte id-articolo_numero-foto.jpg, e, ne caso avessero una larghezza superiore a 500, setto la larghezza a 500 mantendendo la proporzione (per essere pignoli ci manca il controllo, e quindi l'inversione delle variabili, nel caso fosse un'immagine verticale).

    vi metto anche la pagina di invio:

    Codice PHP:
    <form method=post action=upload.php enctype=multipart/form-data>
    Inserire le immagini
    ";
    for (
    $i=1;$i<=$riga["foto"];$i++)
    {
      echo "
    $i) <input type=file name=$i>";
      if (
    $i==1) echo "<font class=text2>questa immagine sarà sia quella dell'anteprima sia la prima visualizzata nell'articolo</font>"; 
      echo "
    "; 
    }
    echo"
    <input type=hidden name=art_id value=".$riga["id"].">
             <
    input type=hidden name=n value=".$riga["foto"].">
             

         <
    input type=submit value=upload>"; 
    fino a qualche giorno fa (non avevo ancora inserito imagedestroy, e infatti inserendo due immagini grandi dava errore) funzionava tutto perfettamente. poi sono andato a fare una nuova prova, e ecco il risultato:

    Warning: imagejpeg(): supplied argument is not a valid Image resource in /web/htdocs/www.navecorsara.it/home/ms/upload.php on line 54
    Si è verificato un errore durante l'upload
    Warning: imagedestroy(): supplied argument is not a valid Image resource in /web/htdocs/www.navecorsara.it/home/ms/upload.php on line 61
    che cosa c'è che non va in Image? Ho provato a fare anche un debug con echo, stampando le varibili volta volta, ma tutto va bene

    Grazie a tutti
    /( ..:: ShArK ::.. )\

  2. #2
    Come da errore NON puoi passare un path a quelle funzioni. DEVI passare una risorsa restituita da imagecreatetruecolor()/imagecreatefromjpeg() etc.

  3. #3
    risolto! grazie mille!
    /( ..:: ShArK ::.. )\

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.