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?