Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Controllo upload file che non controlla!

    Giorno, non mi funziona il controllo sull'upload del file, cosa c'è di sbagliato?

    Codice PHP:
    if(isset($_POST['prov'])){ // si viene dal form, si processano i dati

        if ($_POST['upload'] != '')
        {
           
    $tracciato_temp = $_FILES["tracciato"]["tmp_name"];
    $nome = $_FILES["tracciato"]["name"];
    $estensioni = array("kml", "gpx");
    $estensione_file = substr($nome, strrpos($nome, '.') + 1);

    if (!in_array($estensione_file, $estensioni) && ($_FILES["tracciato"]["size"] < 1000) ) {
         echo "Files must be .gpx and less than 1MB";
         

    else
    {     
     //tutte le operazioni che devo fare
     }
    else { // è una chiamata diretta quindi mostro il form
    ?>

    <form method="post" action="index.php" enctype="multipart/form-data">
      <table border="0" cellspacing="2" cellpadding="4">
        <tr>
          <td width="167" class="arial">Gpx File:</td>
          <td width="151"><input type="file" name="tracciato" size="50" /></td>
        </tr>
        
        <tr>
          <td class="arial">Track Name:</td>
          <td><input type="text" name="titolo" size="50" /></td>
        </tr>
      
        <tr>
          <td colspan="2" align="center"><input type="hidden" name="prov" value="form" />
          <input type="submit" name="upload" value="Upload" /></td>
        </tr>
      </table>
    </form>
    <?
    }
    ?>

  2. #2
    Ad occhio sembra che manchino due graffe di chiusura dopo questa parte:
    codice:
    else 
    {      
    //tutte le operazioni che devo fare 
    }

  3. #3
    grazie sto controllando ma mi sembra di no...

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    if (!in_array($estensione_file, $estensioni) && ($_FILES["tracciato"]["size"] < 1000) ) {
    echo "Files must be .gpx and less than 1MB";

    }
    1. confondi l'OR con AND
    2. Confondi i kilobytes con megabytes

    Errori da pivello assoluto

    edit: e forse confondi anche qualcos'altro, perche if (qualcosa < 1 mb){files must be less} e' un non-sense, tu controlli che siano minori e non maggiori, come sembrerebbe giusto

  5. #5
    ho corretto con
    if (!in_array($estensione_file, $estensioni) || ($_FILES["tracciato"]["size"] < 1000) ) {

    ma non va uguale, ho corretto la misura prima di correggere la dicitura, grazie del pivello...

  6. #6
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    io farei cosi:

    if (!in_array($estensione_file, $estensioni) || ($_FILES["tracciato"]["size"] > 1024*1024) ) {
    echo "Files must be .gpx and less than 1MB";

    }

    prego

  7. #7
    grazie ho provato ma mi passa comunque a caricare il file, ci deve essere qualcosa a monte che mi sfugge... un po' pivello sono effettivamente!

  8. #8
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    ma hai messo correttamente le 2 "}" mancanti, come ti e' stato sugerito da edi73?

  9. #9
    Ho provato ma evidentemente sbaglio posizione perchè mi da una pagina vuota

    else
    {
    //tutte le operazioni che devo fare
    }
    }
    }

    una la capisco ma la seconda no!

  10. #10
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    allora hai aggiunto tolto qualcos'altro

    io ho appena fatto una prova, buttando tutto su un file e aggiungendo quello che manca

    Codice PHP:
    <?php
    if(isset($_POST['prov'])){ // si viene dal form, si processano i dati

        
    if ($_POST['upload'] != '')
        {

    $tracciato_temp $_FILES["tracciato"]["tmp_name"];
    $nome $_FILES["tracciato"]["name"];
    $estensioni = array("kml""gpx");
    $estensione_file substr($nomestrrpos($nome'.') + 1);


    if (!
    in_array($estensione_file$estensioni) || ($_FILES["tracciato"]["size"] > 1024*1024) ) {
         echo 
    "Files must be .gpx and less than 1MB";

    }
    else
    {
    //tutte le operazioni che devo fare
    }
    }
    }
    else { 
    // . una chiamata diretta quindi mostro il form
    ?>

    <form method="post" action="index.php" enctype="multipart/form-data">
      <table border="0" cellspacing="2" cellpadding="4">
        <tr>
          <td width="167" class="arial">Gpx File:</td>
          <td width="151"><input type="file" name="tracciato" size="50" /></td>
        </tr>

        <tr>
          <td class="arial">Track Name:</td>
          <td><input type="text" name="titolo" size="50" /></td>
        </tr>

        <tr>
          <td colspan="2" align="center"><input type="hidden" name="prov" value="form" />
          <input type="submit" name="upload" value="Upload" /></td>
        </tr>
      </table>
    </form>
    <?
    }
    ?>
    non da nessuna pagina bianca, funziona tutto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.