Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 45

Discussione: Upload di due file simultaneamente

  1. #1
    Guest

    Predefinito Upload di due file simultaneamente

    ecco con questo script dovrei caricari due file simultaneamente
    con uno script come faccio
    form.html
    Codice PHP:
    <form ENCTYPE="multipart/form-data" action="upload.php" method="POST">
    <
    table width=100% align=left >
    <
    td><strong>File Model 3D:</strong></td>
    <
    td width=84%><input type="file" name="file1"><br><br>
    </
    td><br>
    <
    tr>
    <
    tr>
    <
    td width=16%><strong>File Template Cars:<br></strong></td>
    <
    td width=84%><input type="file" name="file2"></td>
    </
    tr>
    <
    tr>
    <
    td><br><input type="submit" value="Upload Model 3D"></td>
    </
    tr>
    </
    table>
    upload.php
    Codice PHP:
    <?
    $dimensione_massima
    =1024000; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024000;
    $cartella_upload="prova/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse

    if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
    echo
    "Nessun file selezionato per l'upload";
    }elseif(
    $_FILES['file1']['size']>$dimensione_massima){
    echo
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
    }else{
    $nome_file=$_FILES['file1']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
    }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="La cartella di destinazione non esiste</br>";
    }

    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
    chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "Impossibile effettuare l'upload del file";
    }
    }else{
    echo
    $errore;
    }
    }
    ?>
    Ultima modifica di Driver22 : 27-09-2009 alle ore 19.43.24

  2. #2
    Guest

    Predefinito

    Citazione Originalmente inviato da Driver22 Visualizza messaggio
    ecco con questo script dovrei caricari due file simultaneamente
    con uno script come faccio
    form.html
    Codice PHP:
    <form ENCTYPE="multipart/form-data" action="upload.php" method="POST">
    <
    table width=100% align=left >
    <
    td><strong>File Model 3D:</strong></td>
    <
    td width=84%><input type="file" name="file1"><br><br>
    </
    td><br>
    <
    tr>
    <
    tr>
    <
    td width=16%><strong>File Template Cars:<br></strong></td>
    <
    td width=84%><input type="file" name="file2"></td>
    </
    tr>
    <
    tr>
    <
    td><br><input type="submit" value="Upload Model 3D"></td>
    </
    tr>
    </
    table>
    upload.php
    Codice PHP:
    <?
    $dimensione_massima
    =1024000; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024000;
    $cartella_upload="prova/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse

    if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
    echo
    "Nessun file selezionato per l'upload";
    }elseif(
    $_FILES['file1']['size']>$dimensione_massima){
    echo
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
    }else{
    $nome_file=$_FILES['file1']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
    }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="La cartella di destinazione non esiste</br>";
    }

    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
    chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "Impossibile effettuare l'upload del file";
    }
    }else{
    echo
    $errore;
    }
    }
    ?>
    cosi facendo carichi e controlli solo il primo file...

    Citazione Originalmente inviato da cantoeballo Visualizza messaggio
    ma come si fa a entrare nell'email
    grazie
    Scusa ma che c'entra? Quale email?

  3. #3
    Guest

    Predefinito

    e come faccio a controllare anche l'altro

  4. #4
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da Driver22 Visualizza messaggio
    e come faccio a controllare anche l'altro


    credo che basti un for con due cicli e controlli le variabili file1 e file 2 salvandole accuratamente.
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  5. #5
    Guest

    Predefinito

    Ti basti sapere che l'array $_FILES contiene tutti i i file che uploadi.
    Prova a stampare questo array nella pagina ricevente, ti si chiariranno le idee.


    Ciao!

  6. #6
    Guest

    Predefinito

    adesso il mio script e cosi ma non mi rileva mai il file uploadato 2 cioe
    Codice PHP:
    <input type="file" name="file2">
    non me lo prende dice sempre che non ce nessun file selezionato

    script php
    Codice PHP:
    <?
    $dimensione_massima
    =1024000; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024000;
    $cartella_upload="prova/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse

    if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
    echo
    "Nessun file selezionato per l'upload";
    }elseif(
    $_FILES['file1']['size']>$dimensione_massima){
    echo
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
    }else{
    $nome_file=$_FILES['file1']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
    }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="La cartella di destinazione non esiste</br>";
    }

    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
    chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "Impossibile effettuare l'upload del file";
    }
    }else{
    echo
    $errore;
    }
    }
    if(!isset(
    $_FILES['file2']) || $_FILES['file2']['size']==0){
    echo
    "Nessun file selezionato per l'upload";
    }elseif(
    $_FILES['file2']['size']>$dimensione_massima){
    echo
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
    }else{
    $nome_file=$_FILES['file2']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
    }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="La cartella di destinazione non esiste</br>";
    }

    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file2']['tmp_name'], $cartella_upload.$_FILES['file2']['name'])){
    chmod($cartella_upload.$_FILES['file2']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "<br>Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "Impossibile effettuare l'upload del file";
    }
    }else{
    echo
    $errore;
    }
    }
    ?>

  7. #7
    Guest

    Predefinito

    Ripeto, prova semplicemente a stampare l'array:

    print_r($_FILES);


    Ciao!

  8. #8
    Guest

    Predefinito

    Codice PHP:
    Array ( [file1] => Array ( [name] => action_jackson.zip [type] => [tmp_name] => /membri/.dummy/temp/phplS8xMC [error] => 0 [size] => 21724 ) )
    ecco cosa viene fuori stampando
    print_r($_FILES);

  9. #9
    Guest

    Predefinito

    Non selezioni nulla nel secondo campo input.

    PS: ti ho già infrazionato per la firma, sei pregato di ridurla come da regolamento.


    ciao!

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Non selezioni nulla nel secondo campo input.

    PS: ti ho già infrazionato per la firma, sei pregato di ridurla come da regolamento.


    ciao!
    e come faccio ad controllare il secondo campo input

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da Driver22 Visualizza messaggio
    e come faccio ad controllare il secondo campo input
    Forse non hai capito: quando sei nella pagina del form, devi indicare entrambi i file, uno per ogni campo input.


    Ciao!

  12. #12
    Guest

    Predefinito

    Codice PHP:
    </tr>
    <
    td><strong>File Model 3D:</strong></td>
    <
    td width=84%><input type="file" name="file1"><br><br>
    </
    td><br>
    <
    tr>
    <
    td width=16%><strong>File Template Cars:<br></strong></td>
    <
    td width=84%><input type="file" name="file2"></td>
    </
    tr>
    <
    tr>
    <
    td><br><input type="submit" value="Upload Model 3D"></td>
    </
    tr>
    questa e la parte relativa al form dei due upload

  13. #13
    Guest

    Predefinito

    Sì, non mi stai dicendo nulla di diverso...
    Tu quando apri questa pagina con il form, cosa fai?
    Devi indicare entrambi i file, uno per ogni campo "file"


    Ciao!

  14. #14
    Guest

    Predefinito

    non ho capito!?!?!
    sc la mia ignoranza ma potresti modificare tu in modo corretto lo script
    per piacere

  15. #15
    Guest

    Predefinito

    A vederlo così non devi modificare nulla!
    Facciamo una cosa: descrivimi esattamente i passi che fai quando testi il tutto.
    Cioè, tipo: apro la pagina, clicko qui, mi si apre questo, ...


    Ciao!

  16. #16
    Guest

    Predefinito

    apro la pagine del form
    inserisco negli input i due file
    e dopo schiaccio il bottone add model 3d
    e mi dice
    per il primo file
    operazione andate a buon fine operazione riuscita
    e poi mi scrive per il secondo file
    nessun file selezionato

  17. #17
    Guest

    Predefinito

    Hai una pagina online dove testare?


    Ciao!

  18. #18
    Guest

    Predefinito

    eccola
    http://driver22.altervista.org/prova/prova1/upload.html
    non scrivere niente nei campi
    tanto non vanno
    scegli solo gli upload

  19. #19
    Guest

    Predefinito

    A me funziona perfettamente.
    Ti ho uploadato due file rar.


    ciao!

  20. #20
    Guest

    Predefinito

    si e come mai a ma non funziona????
    che tipo di brownser hai usato

  21. #21
    Guest

    Predefinito

    Non c'entra il tipo di browser.
    Prova a cancellare la cache (file temporanei), poi chiudi e riapri il browser.


    ciao!

  22. #22
    Guest

    Predefinito

    funziona grazie mille per l'aiuto ti sono debitore grazie ancora

  23. #23
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da Driver22 Visualizza messaggio
    si e come mai a ma non funziona????
    che tipo di brownser hai usato
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  24. #24
    Guest

    Predefinito

    ecco adesso che l'upload dei file funziona volevo complicarmi le cose

    ho aggiunto al form upload un'altro form con
    campi da compilare su dettagli dei file
    il form adesso e cosi:
    Codice PHP:
    <form ENCTYPE="multipart/form-data" action="upload.php" method="POST">
    <
    table width="100%" align="left" >
    <
    tr>
    <
    td colspan="2"><div align="left"><img src="logo3d.png"></td></div>
    </
    tr>
    <
    tr>
    <
    td ><strong>Nome Modello:</strong></td>
    <
    td width="90%"><input type="text" name="nome"><br></td>
    </
    tr>
    <
    tr>
    <
    td><strong>Comment:</strong></td>
    <
    td><input type="text" name="desc" ><br></td>
    </
    tr>
    <
    tr>
    <
    td><b>Tipo Modello:</b></td>
    <
    td width="90%"> <select name="tipo">
    <
    option value="dirty">Dirty</option>
    <
    option value="race">Race</option>
    <
    option value="hobby">Hobby</option>
    <
    option value="videogames">Videogames</option>
    <
    option value="team">Team</option>
    <
    option value="suv">Suv</option>
    <
    option value="other">Other</option>
    </
    select><br></td>
    </
    tr>
    <
    tr>
    <
    td ><strong>Autore Modello:</strong></td>
    <
    td width="90%"><input type="text" name="autore"><br><br></td>
    </
    tr>
    </
    div>
    </
    table>
    <
    tr>
    <
    td width="16%"><strong>Another Dettail:<br></strong></td>
    <
    td width="84%"><textarea name="dettail" id="dettail" rows="5" cols="39"></textarea><br><br></td>
    </
    tr>
    <
    td width="16%"><strong>ScreenShot Model:</strong></td>
    <
    td width="84%"><input type="url" name="logo"><br><br></td>
    </
    tr>
    <
    tr>
    <
    td><strong>File Model 3D:<br></strong></td>
    <
    td><input type="file" name="file1"><br><br></td>
    </
    tr>
    <
    tr>
    <
    td><strong>File Template Cars:<br></strong></td>
    <
    td><input type="file" name="file2"><br></td>
    </
    tr>
    <
    tr>
    <
    td><br><input type="submit" value="Upload Model 3D"></td>
    </
    tr>
    </
    form>
    e fino a qui niente problemi
    ma la parte dura viene dove carico i due file
    perché volevo che se tutto nella query del form di inserimento dati va bene allora carica i file ma se anche uno dei file non e caricato correttamente cancella i dati inseriti nella query e tutti i file uploadati

    allora questo e la query del form:
    Codice PHP:
    if(isset($_POST['doupload'])){
    $nome = $_GET['nome'];
    $desc = $_GET['desc'];
    $tipo = $_GET['tipo'];
    $autore = $_GET['autore'];
    $dettil = $_GET['dettail'];
    $logo = $_GET['screen'];
    $date = date("d-m-Y");

    //conessione al database
    require('config.php');
    if(
    $nome == NULL OR $desc == NULL OR $tipo == NULL OR $autore == NULL OR $dettail == NULL OR $logo == NULL){
    $final_report.= "Compilare tutti i campi..";
    }else{
    if(
    strlen($nome) <= 3 || strlen($nome) >= 30){
    $final_report.="Il nome del gruppo deve conprendere dai 3 i 30 caratteri..";
    }else{
    if(
    strlen($desc) <= 3 || strlen($desc) >= 200){
    $final_report.="Aggiungi una Descrizione per far trovare il tuo gruppo";
    }else{
    if(
    strlen($autore) <= 3 || strlen($autore) >= 30){
    $final_report.="L'Autore del gruppo deve conprendere dai 3 i 30 caratteri..";
    }else{
    if(
    strlen($dettail) <= 3 || strlen($dettail) >= 250){
    $final_report.="Nel commento Max caratteri 250";
    }else{
    $addgroup ="INSERT INTO Model3d (id,nome,desc,tipo,autore,dettail,logo,date) VALUES ('','$nome','$desc', '$tipo','$autore','$dettail','$logo','$date')";
    if(!
    mysql_query($addgroup,$dbh)) /*eseguo la query e controllo se va a buon fine ^^*/
    die("<h1>".mysql_error()."</h1>");
    mysql_close($db_nome);
    }}}}}}
    e deve essere adattata a questo script per funzionare come ho detto sopra
    Codice PHP:
    <?
    $dimensione_massima
    =1024000; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024000;
    $cartella_upload="prova/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.zip','.rar'); //estensioni ammesse

    if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
    echo
    "Nessun file selezionato per l'upload<br>";
    }elseif(
    $_FILES['file1']['size']>$dimensione_massima){
    echo
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb<br>";
    }else{
    $nome_file=$_FILES['file1']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br>";
    }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="La cartella di destinazione non esiste<br>";
    }

    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
    chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "Impossibile effettuare l'upload del file<br>";
    }
    }else{
    echo
    $errore;
    }
    }
    if(!isset(
    $_FILES['file2']) || $_FILES['file2']['size']==0){
    echo
    "Nessun file selezionato per l'upload<br>";
    }elseif(
    $_FILES['file2']['size']>$dimensione_massima){
    echo
    "<br>Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb<br>";
    }else{
    $nome_file=$_FILES['file2']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="<br>Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br>";
    }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="<br>La cartella di destinazione non esiste<br>";
    }

    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file2']['tmp_name'], $cartella_upload.$_FILES['file2']['name'])){
    chmod($cartella_upload.$_FILES['file2']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "<br>Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "<br>Impossibile effettuare l'upload del file<br>";
    }
    }else{
    echo
    $errore;
    }
    }
    ?>
    Grazie per il vostro aiuto

  25. #25
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    scusa, devi fare due volte la stessa cosa, perchè riscrivere tutto due volte?
    ti fai una funzione che fa quell'operazione e la richiami due volte o ancora meglio controlli la grandezza dell'array facendo ciò che devi fare per n volte, con n uguale al numero di file. Il top è fare due funzioni, ad una gli assegni il compito di controllare il numero di file e all'alltra memorizzare il file sul server, dentro la prima chiami la seconda.Riscrivere due volte la stessa cosa facendo n controlli statici è poco flessibile, mentre facendo come ti ho detto, ti puoi costruire un form espandibile, ad esempio con js, che ti permettere di aumentare le caselle per l'input dei file, cosi puoi inviare quanti file vuoi, senza stare li a dover modificare se un giorno volessi aumentare o diminuire il numero di file, magari puoi settare il numero di file inviabili con una variabile globale, cioè ne puoi fare cose pià eleganti e carine :)
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  26. #26
    Guest

    Predefinito

    scusa visto che non sono espertissimo potresti modificare il codice tu
    e poi dirmi come hai fatto cosi imparo un po di funzioni anche di js
    se mi puoi fare questo favore te ne sarei tanto grato... grazie

  27. #27
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Ho semplicifcato le cose, ma ho evitato di scrivere funzioni dato che fondamentalmente il corpo lo useresti in un unico punto.

    Non dirmi nulla sulla form, ho preferito implementarla in php per una questione di moco allenamento con js, non ho neppure visto, e magari era pure più semplice.

    ah, ovviamente il codice è una versione che va testata, anche se io ho già fatto qualche piccolo test e sembra andare bene.

    tra l'altro i file vengono salvati, per una questione di evitare controlli sul server, con un prefisso in md5 calcolato su un numero casuale , aggiunto prima del nome del file.

    config.php
    Codice PHP:
    <?php
    session_start
    ();
    //numero massimo di file caricabili tramite selezione
    $max_file = 10;

    //numero di file caricabili di default
    $num_inputFile = 1;
    $max_size = 1024000.0;
    $max_size_kb = $max_size/1024000;
    $upload_dir = "prova";
    $types = array( "application/zip", "application/rar" );

    //funzioncina per il prefisso
    function prefix(){
    $id_rand = rand(100, rand(150,300));
    $id_rand = md5($id_rand );
    return
    $id_rand;
    }
    ?>
    form.php
    Codice PHP:
    <?php
    include("config.php");
    $_SESSION['maxfile'] = $num_inputFile;
    if(isset(
    $_GET['n']) && $_GET['n'] <= $max_file && trim($_GET['n']) != "" ){
    $_SESSION['maxfile'] = $num_inputFile = $_GET['n'];
    }
    ?>
    <form action="send.php" method="post" enctype="multipart/form-data">

    <?php

    for($i=0;$i<$num_inputFile;$i++){
    echo
    "<input type=\"file\" name=\"file_".$i."\"><br>";
    }
    ?>
    <input type="hidden" name="MAX_FILE_SIZE" value="10240">
    <input type="submit" value="Invia file"><input type="reset" value="cancella">
    </form>

    <?php
    echo "Numero di file da inviare: <br>";
    for(
    $i=1;$i<=$max_file;$i++)
    echo
    " <a href=\"?n=$i\">$i</a><b>|</b>";
    ?>
    send.php
    Codice PHP:
    <?php
    include("config.php");

    for(
    $i=0;$i<$_SESSION['maxfile'] ;$i++){

    $upfile = "file_".$i;
    $file_name = $_FILES[$upfile]['name'];
    $file_tmp = $_FILES[$upfile]['tmp_name'];
    $file_type = $_FILES[$upfile]['type'];
    $file_size = $_FILES[$upfile]['size'];

    if(
    trim($file_name) == "") {
    echo
    "File".($i+1).": Non è stato indicato !<br>";
    }
    else if(
    $file_size > $max_size){
    echo
    "File".($i+1).": Supera la dimensione massima di ".($file_size-$max_size)." Byte !<br>";
    }
    else if(!
    in_array($file_type,$types)){
    echo
    "File".($i+1).": (".$file_name.") estensione non consentita, sono ammesse solo le estensioni ".implode(",", $types)."<br>";
    }
    else{
    if(
    is_uploaded_file($file_tmp)) {
    $pref = prefix();
    move_uploaded_file($file_tmp, "$upload_dir/$pref-$file_name") or die("Permessi della directory non settati, contattare l'amministratore del sito!.");
    echo
    "File".($i+1).": " . $file_name . " inviato correttamente<br>";
    }
    else {
    echo
    "Problemi nell'upload del file " . $file_name."<br>";
    }
    }}
    ?>

    <form>
    <input type="button" value="Indietro" onClick="javascript:history.back()" name="button">
    </form>
    ovviamente non è gran che, ma puoi sempre migliorarlo ;)

    ps. vorrei che la prossima volta eviti di scrivere richieste in privato, almeno quelle rivolte a me. Se vuoi farlo le scrivi nel thread che hai aperto e se non si risponde: pazienza! ;)
    Ultima modifica di Xsescott : 02-10-2009 alle ore 13.08.54
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  28. #28
    Guest

    Predefinito

    grazie sei un mito.....
    e se io volessi metterci un form dove uno inserisce le informazioni per
    i file

    ecco il form che vorrei aggiungere
    Codice PHP:
    <form name="Form" method="post">
    <table width="100%" align="left" >
    <tr>
    <td colspan="2"><div align="left"><strong>Add Model 3D</strong></td></div>
    </tr>
    <tr>
    <br><td style="color: rgb(255, 0, 0);"><? echo '<tr><td colspan="2">'.$final_report.'</td></tr>';?></td><br>
    </tr>
    <tr>
    <td width="16%"><strong>Nome Modello:</strong></td>
    <td width="84%"><input type="text" name="nome"></td>
    </tr>
    <tr>
    <td><strong>Comment:</strong></td>
    <td><input type="text" name="desc" ></td>
    </tr>
    <tr>
    <td><b>Tipo Modello:</b><select name="tipo">
    <option value="dirty">Dirty</option>
    <option value="race">Race</option>
    <option value="hobby">Hobby</option>
    <option value="videogames">Videogames</option>
    <option value="team">Team</option>
    <option value="suv">Suv</option>
    <option value="other">Other</option>
    </select></td>
    </tr>
    <tr>
    <td width="16%"><strong>Autore Modello:</strong></td>
    <td width="84%"><input type="text" name="autore"></td>
    </tr>
    <tr>
    <td width="16%"><strong>Another Dettail:</strong></td>
    <td width="84%"><textarea name="dettail" id="dettail" rows="5" cols="39"></textarea></td>
    </tr>
    <td width="16%"><strong>ScreenShot Model:</strong></td>
    <td width="84%"><input type="url" name="logo"></td>
    </tr>
    <tr> </div>
    </table>
    </form>
    e questa e la query per l'inserimento
    dei dati nel database ma come posso fare che se
    uno inserisce dati sbagliati i file non vengono caricati e anche il contrario

    Codice PHP:
    <?php
    if(isset($_POST['doupload'])){
    $nome = $_GET['nome'];
    $desc = $_GET['desc'];
    $tipo = $_GET['tipo'];
    $autore = $_GET['autore'];
    $dettil = $_GET['dettail'];
    $logo = $_GET['screen'];
    $date = date("d-m-Y");

    //conessione al database
    require('config.php');
    if(
    $nome == NULL OR $desc == NULL OR $tipo == NULL OR $autore == NULL OR $dettail == NULL OR $logo == NULL){
    $final_report.= "Compilare tutti i campi..";
    }else{
    if(
    strlen($nome) <= 3 || strlen($nome) >= 30){
    $final_report.="Il nome del gruppo deve conprendere dai 3 i 30 caratteri..";
    }else{
    if(
    strlen($desc) <= 3 || strlen($desc) >= 200){
    $final_report.="Aggiungi una Descrizione per far trovare il tuo gruppo";
    }else{
    if(
    strlen($autore) <= 3 || strlen($autore) >= 30){
    $final_report.="L'Autore del gruppo deve conprendere dai 3 i 30 caratteri..";
    }else{
    if(
    strlen($dettail) <= 3 || strlen($dettail) >= 250){
    $final_report.="Nel commento Max caratteri 250";
    }else{
    $addgroup ="INSERT INTO Model3d (id,nome,desc,tipo,autore,dettail,logo,date) VALUES ('','$nome','$desc', '$tipo','$autore','$dettail','$logo','$date')";
    if(!
    mysql_query($addgroup,$dbh)) /*eseguo la query e controllo se va a buon fine ^^*/
    die("<h1>".mysql_error()."</h1>");
    mysql_close($db_nome);
    }}}}}}
    ?>

  29. #29
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da Driver22 Visualizza messaggio
    come posso fare che se
    uno inserisce dati sbagliati i file non vengono caricati e anche il contrario
    inserisci tutto in un'unica form, invece la pagina che riceve le informazioni per salvarla la puoi vedere cosi:
    Codice:
     
    if(non esiste campo 1)
    blocco
    else if(non esiste campo 2)
    blocco
    else if(non esiste campo n)
    blocco
    else if(non vi è almeno una img)
    blocco
    else
    ---------------------
    dato che tutti i parametri sono soddisfatti
    salvo file e query nel db.
    ---------------------
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  30. #30
    Guest

    Predefinito

    ti prego puoi aiutarmi e quasi un mese che cerco di fare quella cosa
    ma non so come si fa potresti farmela tu

    perche io finisco con il confondere tutti gli if() e gli else

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •