Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154

    problema su controllo estensione file

    salve raga ho uno script che mi permette di caricare un file immagine sul db.

    ecco il codice:

    codice:
    <?php
    $email = $_POST['email'];
    
    // Verifico eventuali problemi nell'upload del file
    if((!isset($_FILES["file_inviato"])) || ($_FILES["file_inviato"]["error"] != UPLOAD_ERR_OK))
     { 
    echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>Errore nell'invio del file immagine. Hai dimenticato ad inserirlo o l'estensione del file inserito non &egrave; supportata!<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a></center></td></tr></table>";
     }
    elseif ($email == ""){
    echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>Non lasciare vuoto il campo e-mail<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a></center></td></tr></table>";
    }
    else {
        
    mysql_connect("xxx", "xxx", "xxxx") or die(mysql_error());
    mysql_select_db("xxxx") or die(mysql_error());
    
    $sqlquery = "SELECT email FROM users WHERE email = '".$email."'"; 
    $result = mysql_query($sqlquery); 
         
        if (mysql_num_rows($result) == "0"){ 
           echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>L'e-mail inserita non esiste<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a></center></td></tr></table>"; 
        }else{    
    
    
    //  settiamo un array in cui indichiamo il tipo di file che consentiamo l'upload  
    // in questo esempio solo immagini   
    $exploded = explode('.',$_FILES['image']['name']);
    $file_ext=strtolower(end($exploded));
    $tipi_consentiti = array("gif","png","jpeg","jpg");   
        
    // settiamo la dimensione massima del file (1048576 byte = 1Mb)  
    $max_byte = 1048576; 
        
        // Recupero delle informazioni sul file inviato
    $nome_file_temporaneo = $_FILES["file_inviato"]["tmp_name"];
    $nome_file_vero = $_FILES["file_inviato"]["name"];
    $tipo_file = $_FILES["file_inviato"]["type"];
    $dimensione_file = $_FILES["file_inviato"]["size"];
    
    
    // verifichiamo che il tipo è fra quelli consentiti  
    if(in_array($file_ext,$tipi_consentiti) === false)  
          {  
          echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>Il formato del file che si desidera caricare non &egrave; fra i tipi consentiti!<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a></center></td></tr></table>";  
          }  
      
       // verifichiamo che la dimensione del file non eccede quella massima  
       else if($_FILES["file_inviato"]["size"] > $max_byte)  
          {  
          echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>Il dimensione del file che si desidera caricare supera la dimensione massima consentita!<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a></center></td></tr></table>";  
          }  
    else {
    // Leggo il contenuto del file
    $dati_file = file_get_contents($nome_file_temporaneo);
    
    // Preparo il contenuto del file per la query sql
    $dati_file = addslashes($dati_file);
    
    
        
    // Query per inserire il file nel DB
    $query = "UPDATE users SET
                  nome_img = '$nome_file_vero', 
                  tipo_img = '$tipo_file', 
                  img = '$dati_file' WHERE email='$email' "; 
    
    mysql_query($query)
    or die("Query non valida: " . mysql_error());
    
    // Messaggio di successo
    echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>Immagine <b>$nome_file_vero</b> inserita correttamente!<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a>
                    </center></td></tr></table>";  
    }
    }
    }
    ?>
    ho inserito due controlli allo script in aggiunta di quelli presenti, che mi dovrebbero permettere di controllare estensione e dimensione del file....

    codice:
    //  settiamo un array in cui indichiamo il tipo di file che consentiamo l'upload  
    // in questo esempio solo immagini   
    $exploded = explode('.',$_FILES['image']['name']);
    $file_ext=strtolower(end($exploded));
    $tipi_consentiti = array("gif","png","jpeg","jpg");   
        
    // settiamo la dimensione massima del file (1048576 byte = 1Mb)  
    $max_byte = 1048576; 
        
        // Recupero delle informazioni sul file inviato
    $nome_file_temporaneo = $_FILES["file_inviato"]["tmp_name"];
    $nome_file_vero = $_FILES["file_inviato"]["name"];
    $tipo_file = $_FILES["file_inviato"]["type"];
    $dimensione_file = $_FILES["file_inviato"]["size"];
    
    
    // verifichiamo che il tipo è fra quelli consentiti  
    if(in_array($file_ext,$tipi_consentiti) === false)  
          {  
          echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>Il formato del file che si desidera caricare non &egrave; fra i tipi consentiti!<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a></center></td></tr></table>";  
          }  
      
       // verifichiamo che la dimensione del file non eccede quella massima  
       else if($_FILES["file_inviato"]["size"] > $max_byte)  
          {  
          echo "<table class='bordered' style='margin:30px auto;'>
                    <tr>
                    <td>
                    <center>
                    <img src='http://i.imgur.com/hxvbojK.png' width='300' height='60'>
                    <br><br>Il dimensione del file che si desidera caricare supera la dimensione massima consentita!<br><br><a href='http://sitoprova.96.lt/login.php'>Torna alla pagina di accesso</a></center></td></tr></table>";  
          }  
    else {
    il problema adesso è che qualsiasi file provo io a inserire nel db mi salta fuori l echo per l estensione non supportata..gli altri controlli comunque continuano a funzionare..lo script si ferma a quell echo...senza questi 2 controlli aggiunti lo script va alla grande...quale potrebbe essere il problema ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    come se nessuna estensione del file venga accettata!!

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.