function random_string($length) { $key = ''; $keys = array_merge(range(0, 9), range('a', 'z')); for ($i = 0; $i < $length; $i++) { $key .= $keys[array_rand($keys)]; } return $key; } echo random_string(50);
Output Example:
zsd16xzv3jsytnp87tk7ygv73k8zmr0ekh6ly7mxaeyeh46oe8
EDIT
Make it unique in the directory, change it here:
function random_filename($length, $directory = '', $extension = '') { // default to this files directory if empty... $dir = !empty($directory) && is_dir($directory) ? $directory : dirname(__FILE__); do { $key = ''; $keys = array_merge(range(0, 9), range('a', 'z')); for ($i = 0; $i < $length; $i++) { $key .= $keys[array_rand($keys)]; } } while (file_exists($dir . '/' . $key . (!empty($extension) ? '.' . $extension : ''))); return $key . (!empty($extension) ? '.' . $extension : ''); } // Checks in the directory of where this file is located. echo random_filename(50); // Checks in a user-supplied directory... echo random_filename(50, '/ServerRoot/mysite/myfiles'); // Checks in current directory of php file, with zip extension... echo random_filename(50, '', 'zip');
Domecraft
source share