Se il nome del file non è un prob io lo farei random...
codice:
function rndName($n) {
if ($n!="") {
$nome=$n;
$arr = explode('.', $nome);
$nline = count($arr);
$ext = $arr[$nline-1];
$length = 20;
$key_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$rand_max = strlen($key_chars) - 1;
for ($i = 0; $i < $length; $i++){
$rand_pos = rand(0, $rand_max);
$rand_pass[] = $key_chars{$rand_pos};
}
$newNome = implode('', $rand_pass);
return $newNome.".".$ext;
}
}
// 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 = "upload";
$new_name = "";
$file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
$file_name = rndName($file_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 " . $file_name . " è avvenuto correttamente";
in locale mi funziona perfettamente..... controllati $upload_dir e dovrebbe andare