A volte ci può essere la necessità di modificare i nomi dei file (specie dopo un upload) in modo che il loro nome appaia assolutamente casuale. Vediamo come possiamo fare con una semplice funzione PHP.
Il codice è il seguente:
function randomize_file_name($real_file_name = '') {
if(empty($real_file_name) || strstr($real_file_name, '.') === false || preg_match('/\.{2,}/', $real_file_name)) {
return $real_file_name;
}
$name_parts = explode('.', $real_file_name);
if (count($name_parts) > 0) {
$ext = $name_parts[count($name_parts) - 1];
return substr(md5(uniqid(rand(),1)), -16) . '.' . $ext;
}
return $real_file_name;
}
La funzione salva l'estensione del file dopo averla divisa dal suo nome. A questo punto utilizza le funzioni md5()
, uniqid()
e rand()
per generare il nome casuale da preporre all'estensione.