Quella di rinominare un file in upload è una cosa che può essere molto utile fondamentalmente per 2 motivi:
- evitare di sovrascrivere file esistenti che hanno lo stesso nome
- evitare errori di upload dovuti a caratteri strani presenti nel nome del file
io uso un metodo molto semplice, in fase di upload, rilevo l'estensione del file con questa mia funzione, e le antepongo un nome univoco, utilizzando la funzione uniqid(pref).
Tale funzione oltre che restituire una stringa univoca permette si assegnare una sorta di prefisso, utile per identificare ad esempio i file di diverse sezioni di un sito (es. home_474ab038b3bbe.jpg)
Quindi, il solito form invierà il file da uplodare a upload.php
-
<form method="post" action="upload.php" enctype="multipart/form-data">
-
<input type="file" name="file_da_uplodare">
-
<input type="submit" value="Invia">
-
</form>
... a seguire il file upload.php nel quale includo anche la funzione per rinominare il file, riceverà il file, lo rinominerà e lo uploderà.
-
<?php
-
-
function estensione($nome){
-
return "Nessuna estensione";
-
}
-
return $estensione;
-
}
-
-
// directory dove va uplodato il file
-
$directory = 'directoryupload/';
-
-
// verifica l'esistenza del file
-
$file_temporaneo= $_FILES['file_da_uplodare']['tmp_name'];
-
$nome_file = $_FILES['file_da_uplodare']['name'];
-
-
// trova l'estensione del file
-
$estensione_file=estensione($nome_file);
-
// assegna un nome univooco al file
-
-
//esegue l'upload e controlla che vada a buon fine
-
echo "Il file è stato caricato";
-
} else {
-
echo "Si è verificato un errore durante l'upload";
-
}
-
}
-
?>

0 Response to “Rinominare un file in upload”