1. PHP / Говнокод #765

    +139.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 24 Марта 2009

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

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

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

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