Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    non funziona controllo nell'upload file

    ciao,
    ho fatto un pannellino per fare degli upload di file sul server, solo che non mi funzionano bene i controlli che ho messo, di volta in volta mi stampa correttamente i messaggi di errore, ad esempio se un file è troppo grande mi dice: "Il file è troppo grande. Deve essere di 200000 bytes o meno", il problema è che poi me lo pubblica lo stesso!

    Codice PHP:
    <?
    $extlimit 
    "yes";
    $limitedext = array(".doc",".gif",".jpg",".png",".jpeg");
    $sizelimit "yes";
    $sizebytes "200000";
    $dl "http://www.sito.it/concessionari_file";
    $absolute_path "/web/htdocs/www.sito.it/home/concessionari_file";
    ?>

    <?
    $dir 
    "dir";
    if (
    $file != "") {

    $ext strrchr($file_name,'.');
    if ((
    $extlimit == "yes") && (!in_array($ext,$limitedext))) {
    $msg "Il file che stai pubblicando non ha un'estensione corretta.";
    }

    if (
    file_exists("$absolute_path/$file_name")) {
    $msg "C'è già un file con lo stesso nome";
    }

    if ((
    $sizelimit == "yes") && ($file_size $sizebytes)) {
    $msg "Il file è troppo grande. Deve essere di $sizebytes bytes o meno.";
    }

    @
    copy($file"$absolute_path/$file_name") or die("Il file che stai pubblicando non può essere copiato sul server");

    } else {
    $msg "Devi selezionare un file da pubblicare";
    }
    ?>

  2. #2
    Beh per forza te lo pubblica lo stesso, i vari blocchi IF con cui effettui i controlli sono slegati tra loro, e sono separati dall'istruzione che copia il file. Il risultato e' che i controlli vengono effettuati, ma non bloccano la copia del file. Prova cosi':

    codice:
    <?
    $dir = "dir";
    if ($file != "") {
    
    $ext = strrchr($file_name,'.');
    if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
    $msg = "Il file che stai pubblicando non ha un'estensione corretta.";
    }
    
    else if (file_exists("$absolute_path/$file_name")) {
    $msg = "C'è già un file con lo stesso nome";
    }
    
    else if (($sizelimit == "yes") && ($file_size > $sizebytes)) {
    $msg = "Il file è troppo grande. Deve essere di $sizebytes bytes o meno.";
    }
    
    else @copy($file, "$absolute_path/$file_name") or die("Il file che stai pubblicando non può essere copiato sul server");
    
    } else {
    $msg = "Devi selezionare un file da pubblicare";
    }
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Grazie Darsch2501 !


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.