- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
// получаем следующее уникальное имя закачиваемого файла
function getFilename()
{
mysql_query('insert into `filenames` (num) values (1)');
$id = mysql_insert_id();
mysql_query('delete from `filenames` where id<' . $id);
$str = date('Y') . '/' . date('m') . '/' . date('d') . '/' . $id . '_' . rand(1000,
9999);
list($dir1, $dir2, $dir3, $id) = explode('/', $str);
checkPictureDirs($dir1, $dir2, $dir3);
return $str;
}
Может это круто напрягать БД для получения уникального ID для имени файла.
guest 24.03.2009 17:40 # 0
guest 24.03.2009 19:44 # +1
guest 25.03.2009 09:32 # 0
[quote]да хотя бы хэш текущего времени, имя будет уникально до усрачки[/quote]
и на всякий случай mt_rand, чтобы не дай бог одновременное обращение
guest 25.03.2009 21:02 # +1
[quote=Говногость]А как ещё вы предлагаете получать такое имя и проверять, что оно ранее не было занято?[/quote]
file_exists() чем не подходит?