Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    upload di tutti i files presenti in una cartella

    Salve a tutti, vorrei permettere agli amministratori del mio sito di caricare contemporaneamente dei files presenti in una determinata directory sui vari client collegati al pannello di controllo del sito.

    Se si vuole caricare un singolo file non ho problemi, ma come faccio a selezionare tutti i files presenti nella directory, o anche se non tutti, quelli che mi interessano?

    Insomma ho la necessità di dover fare quello che faccio con un singolo file per più di uno.

    Questo è il form:

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

    <
    input type="file" name="upfile">

    <
    input type="hidden" name="MAX_FILE_SIZE" value="10000">
    <
    input type="submit" value="Invia il file">
    </
    form
    Questo è lo script che fa l'upload di un singolo file:

    Codice PHP:
    <?

    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES $HTTP_POST_FILES;
    if(!isset(
    $_SERVER)) $_SERVER $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $upload_dir $_SERVER["DOCUMENT_ROOT"] . "/upload";

    // Eventuale nuovo nome da dare al file uploadato
    $new_name "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name $_FILES["upfile"]["name"];

    if(
    trim($_FILES["upfile"]["name"]) == "") {

    die(
    "Non hai indicato il file da uploadare !");

    }

    if(@
    is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name"
    or die(
    "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die(
    "Problemi nell'upload del file " $_FILES["upfile"]["name"]);

    }

    echo 
    "L'upload del file " $_FILES["upfile"]["name"] . " è avvenuto correttamente";

    ?>
    Vorrei evitare di dover selezionare manualmente ogni singolo file... E' abbastanza noioso...
    E tra l'altro dovrei avere nel form tanti input quanti sono i file da caricare. Ma ovviamente non so a priori quanti siano i files da caricare sul server...

    Non c'è un modo per fare tutto questo?

  2. #2
    Devi usare javascript (o java proprio, ma la cosa diventa più complicata).

    Il primo metodo (più comodo per te) è semplicemente quello di far aggiungere a javascript un ulteriore campo input ogni volta che il campo input "sovrastante" sia stato compilato, in questa maniera tu puoi far caricare quanti file vuoi (compatibilmente con alcuni limiti definiti nelle impostazioni del server).

    Il secondo metodo è di far leggere la cartella a javascript, e creare un ciclo che "invii" tutti i files, non è tremendo ma è certamente molto più scomodo del precedente.
    Can You See Curtains? Then Isn't Windows!

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.