• User Attivo

    $_FILES vuoto genera errori

    Salve a tutti,
    ho un semplice script che si occupa del caricamento di immagini su una cartella del server.
    [php]
    if (isset ($_FILES['new_image'])){
    $imagename = $_FILES['new_image']['name'];
    $source = $_FILES['new_image']['tmp_name'];
    $target = "http://www.giorgiotave.it/forum/images/".$imagename;
    move_uploaded_file($source, $target);

              $imagepath = $imagename;
                $pic1 =  $imagepath; 
              $save = "http://www.giorgiotave.it/forum/images/" . $imagepath; //This is the new file you saving
              $file = "http://www.giorgiotave.it/forum/images/" . $imagepath; //This is the original file
    
              list($width, $height) = getimagesize($file) ; 
                                                         
              $modwidth = 150; 
                                                         
              $diff = $width / $modwidth;
                                                        
              $modheight = $height / $diff; 
              $tn = imagecreatetruecolor($modwidth, $modheight) ; 
              $image = imagecreatefromjpeg($file) ; 
              imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ; 
                                                        
              imagejpeg($tn, $save, 100) ; 
    
              $save = "http://www.giorgiotave.it/forum/images/sml_" . $imagepath; //This is the new file you saving
              $file = "http://www.giorgiotave.it/forum/images/" . $imagepath; //This is the original file
              list($width, $height) = getimagesize($file) ; 
                                                  
          }        
    

    [/php]Se ho selezionato un immagine lo script non da problemi.
    Se invece non seleziono nessun file mi genera sta sfilza di errori

    Warning: Division by zero in

    Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in

    Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error: in

    Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'images/' is not a valid JPEG file in

    Warning: imagecopyresampled(): supplied argument is not a valid Image resource in

    Warning: imagejpeg(): supplied argument is not a valid Image resource in

    Teoricamente la clausola if (isset ($_FILES['new_image'])){ non dovrebbe bloccare l'esecuzione di tutte le istruzioni sottostanti? Perchè vengono eseguite comunque?

    Aiutatemi! E grazie in anticipo


  • ModSenior

    Ciao Creepy-Eyes,

    dovresti inserire un controllo sul tipo di file, anche perchè se io passo un file che non è un immagine dovrebbe generare parecchi errori.


  • User Attivo

    Ii controlli su tipo di file, peso ecc saranno il secondo passo.
    Comunque ho risolto con un is_file_uploaded()