ciao a tutti!!!
ho questa parte di script che ho messo per limitare l'upload solo ai file mp3, ma forse ho sbagliato la condizione, perche sul browsers mi appare:
Il file non e' di un tipo consentito, sono ammessi solo i file mp3:
ma in realtà il file viene caricato nella cartella, quale può essere il problema??
codice:
$allowed_types = array("audio/mpeg3","audio/x-mpeg-3","video/mpeg","video/x-mpeg");
if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
die("Il file non e' di un tipo consentito, sono ammessi solo i file mp3: " . implode(",", $allowed_types) . ".");
}
o forse dovevo mettere il codice prima degli altri controlli... questo è lo script completo:
codice:
<?
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
$upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/upload";
$new_name = "";
$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"]);
}
$allowed_types = array("audio/mpeg3","audio/x-mpeg-3","video/mpeg","video/x-mpeg");
if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
die("Il file non e' di un tipo consentito, sono ammessi solo i file mp3: " . implode(",", $allowed_types) . ".");
}
echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";
?>