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

    [Upload di file] ..le informazioni sull'upload: quali sono? Come gestirle?

    Ciao ragazzi,

    dilemma: Abbiamo un form con un input/file. L'utente carica il suo file.

    Ora..

    Che tipo di informazioni circolano? (Conosco $_FILES e suoi parametri: ['size'], ['error'], ecc.)
    Dove vanno? (Credo che permangano nella memoria di...non sono sicuro..)
    Come posso gestirle?
    Qualcuno potrebbe fare qualche magagna?
    Come prevenire?

    Lo sò: sono domande molto generiche. Ho posto queste domande appositamente nella speranza di raccogliere più informazioni possibili riguardo questo argomento grazie alla vostra preparazione e professionalità.

  2. #2
    le informazioni sono, di base, quelle dell'array $_FILES

    l'array resta in memoria fino alla fine dell'esecuzione della pagina

    il file caricato resta nella cartella temporanea settata nel php.ini (di default dovrebbe essere /tmp) a meno che non lo sposti con move_uploaded_file da un'altra parte

    per fare qualche magagna dovresti sfruttare le risorse caricate in maniera errata, che ne so, "eseguendole" come se fossero script/programmi. Se per esempio ti aspetti che sia un'immagine, intanto controlli che l'estensione e il mime type (usando altre funzioni apposite) siano compatibili con un formato image, e quindi salvi. E poi li visualizzi solo come immagini. Certo se c'è scritto "carica il tuo file personalizzato php" magari li puoi avere seri problemi di sicurezza se dopo vuoi eseguire quello script
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Grande Santino! Ciao!

    Allora ti dico da subito che si, io mi riferisco all'upload di un singolo file (E' di default la possibilità di uploadare un singolo file vero?), che sarà, appunto, un file immagine.

    Quindi si, si effettueranno controlli sul tipo di file. Se il file sarà corretto verrà poi inviato, altrimenti niente.

    Non c'è quindi "da fare granchè" per prevenire alle magagne con un upload di questo tipo vero?

    Della serie..

    ..controllo che non ci siano errori ($_FILES['file']['error'] === UPLOAD_ERR_OK)
    ..controllo che il file è caricato (Con is_uploaded_file)
    ..controllo che la grandezza sia quella appropriata (size)
    ..controllo che il tipo di file sia quello giusto (.jpg, .png)

    ..stop..giusto?

  4. #4
    hum si non vedo altro di interessante da controllare
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Perfetto. Ti ringrazio MILLE ancora

  6. #6
    Non è qualcuno avrebbe da passarmi il codice html per il form di invio ma sopratuttto quello di upload per il caricamento di un file all'interno di una cartella sull'ftp.
    Ci sto sbattendo la testa da due giorni.

  7. #7
    Form di invio tipo questo?

    codice:
    <html>
     <body>
    
     <form --vari attributi-->
      
      ..contenuto form..
    
       <button type="submit"> Invia! </button>
     </form>
     
     </body>
    </html>
    ..la tua seconda richiesta non l'ho capita bene.

  8. #8
    Originariamente inviato da Bum Bum #11
    Non è qualcuno avrebbe da passarmi il codice html per il form di invio ma sopratuttto quello di upload per il caricamento di un file all'interno di una cartella sull'ftp.
    Ci sto sbattendo la testa da due giorni.
    devi fare un upload html o ftp?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Per l'esattezza è una cosa del genere.

    ho il mio file upload.htm con il seguente codice


    <form action="upload.php" enctype="multipart/form-data" method="post">

    <input name="MAX_FILE_SIZE" type="hidden" value="1024000" />
    File da caricare:

    <input id="file" name="file" type="file" />

    <input name="submit" type="submit" value="Carica" />
    </form>

    E tramite questo form devo caricare un file che deve essere inviato all'interno di una cartellla.

  10. #10
    Vi posto anche il codice del file upload.php

    <?php

    //controlliamo che il file rispetti le dimensioni impostate
    if ($_FILES["file"]["size"] < 1024000){
    //controlliamo se ci sono stati errori durante l'upload
    if ($_FILES["file"]["error"] > 0){
    echo "Codice Errore: " . $_FILES["file"]["error"]."
    ";
    }
    else{
    //stampo alcune informazioni sul file
    //il nome originale
    echo "Nome File: " . $_FILES["file"]["name"]."
    ";
    //il mime-type
    echo "Tipo File: " . $_FILES["file"]["type"] . "
    ";
    //la dimensione in byte
    echo "Dimensione [byte]: " . $_FILES["file"]["size"] . "
    ";
    //il nome del file temporaneo
    echo "Nome Temporaneo: " . $_FILES["file"]["tmp_name"] . "
    ";
    //controllo se il file esiste già sul server
    if (file_exists("prova/upload/" . $_FILES["file"]["name"])){
    echo "Il file " . $_FILES["file"]["name"] . " è già presente sul server";
    }
    else{
    //sposto il file caricato dalla cartella temporanea alla destinazione finale
    move_uploaded_file($_FILES["file"]["tmp_name"], "prova/upload/" . $_FILES["file"]["name"]);
    echo "File caricato in: " . "prova/upload/" . $_FILES["file"]["name"];
    }
    }
    }
    else{
    echo "File troppo grande!!";
    }

    ?>

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.