Генерить название файла!

voland

Guest
Генерить название файла!

Создовал галерею, столкнулся с проблемой, что очень много имен файлов, и я постепенно начинаю забывать какие были... Решил нумеровать файлы по порядку закачивания!

Т.Е. 1,2,3,4,5,6,7....1489...

Но идей как это можно сделать нет, подскажите какую-нибудь идею...
 

Georgy

Guest
1. Пишешь фукцию, возвращающую кол-во файлов в директории с фотками
2. Прибавляешь 1 к кол-ву.

а переименовать файлы просто:
PHP:
$path = 'path/to/dir/';
$handle = opendir( $path );
$x = 0;

while ( $file = readdir( $handle ) )
{
   if ( ! is_dir( $path . $file ) )
   {
    $ary = explode( '.', $file );
    $ext = $ary[sizeof( $ary )-1];
    $tmp_name = $path . $x . $ext;
    rename( $path . $file, $tmp_name ) or die( 'Cannot rename file : ' . $file );
    $x ++;
   }
}

closedir( $handle );
 

Demiurg

Guest
Georgy, а теперь представь, что один файл случайно сотрется.
 

voland

Guest
Сотреться... Ведь удаления будут..., замены будут и т.д.
БД используеться, но проблема в том, что в БД щас имена фоток, а перейти надо на номера...
 

Demiurg

Guest
ну так поставь в табличке автоинкрементный ключ и именуй по нему, и не будет проблем.
 

Oleg Puzanov

Guest
если фотки в БД, то используй для имен файлов значение первичного ключа
 

василыч

Guest
Использовать в качестве имени файла уникальное число, сгенерированное ф-ей time()
:)
 

Demiurg

Guest
василыч, а если добавятся сразу 2 фотографии ?
 

василыч

Guest
Значит подсчитать скока их всего добавлено и именовать как
1_6554654654
2_6554654654
3_6554654654

:)
 

Demiurg

Guest
зачем ?
когда уникальность значения гарантируется базой ?
 
Сверху