"PHP" / Говнокод #765 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 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 guest, (Updated )

Комментарии (4) RSS

  • Да, это круто. А как ещё вы предлагаете получать такое имя и проверять, что оно ранее не было занято?
    Ответить
  • да хотя бы хэш текущего времени, имя будет уникально до усрачки
    Ответить
  • страйкер:
    [quote]да хотя бы хэш текущего времени, имя будет уникально до усрачки[/quote]
    и на всякий случай mt_rand, чтобы не дай бог одновременное обращение
    Ответить
  • rootcoder:
    [quote=Говногость]А как ещё вы предлагаете получать такое имя и проверять, что оно ранее не было занято?[/quote]

    file_exists() чем не подходит?
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8