Saluti al forum.
Ho utilizzato in passato questo script per fare l'upload ed il rename di file e poichè era previsto il solo upload di img avevo impostato manualmente l' estensione del file cosi':
$new_name = $_SESSION["id_gen"].".".jpg;
adesso però devo utilizzare lo script per file di testo, pdf. etc..
qualcuno può dirmi come fare affinchè l'estensione rimanga quella del file di origine?
Riporto tutto il codice:
<?
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
// 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 = $_SESSION["id_gen"].".".jpg;
// Se $new_name è vuota, il nome sarà lo stesso del file uploadato -
// nel mio caso non occorrerebbe perche' il new name viene passato dallo ID
$file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
if(trim($_FILES["upfile"]["name"]) == "") {
die("
Nessuna foto selezionata");
}
if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
or die("
Impossibile inviare il file.
Se il problema persiste inviate
una e-mail al supporto tecnico.");
} else {
die("
Problemi nell'upload del file
\"" . $_FILES["upfile"]["name"]."\"
controllare che la dimensione
non sia superiore ai 2000 Kb");
}
$allowed_types = array("image/pjpeg","image/jpg","image/jpeg");
if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
die("
Il file non è di tipo consentito,
sono ammesse solo immagini di tipo:
" . implode(",", $allowed_types) . ".");
}
echo "
L'upload del file \"" . $_FILES["upfile"]["name"] . "\"
è avvenuto correttamente";
?>