Nu tad pārbaudi, vai tāds fails jau eksistē :)
function genRand($extension, $length = 8){
$chars = array_merge(range('a','z'), range('A', 'Z'), range(0, 9));
$str = '';
for($i=0; $i<$length; $i++){
$str.= $chars[array_rand($chars)];
}
return file_exists($str.'.'.$extension) ? genRand($extension, $length) : $str;
}