Путь к файлу в БД

allforweb

Новичок
Путь к файлу в БД

Два простеньких вопроса к профи:

1. Как рационально заносить путь к изображению в базу данных без абсолютного пути? Нужно ли указывать путь к папке загрузки или достаточно имени файла и все. У меня папка для загрузки /uploads и она прописана в config файле. Достаточно ли заносить в базу просто название файла (1234567.jpeg) или все-таки писать /uploads/1234567.jpeg
2. Правильно ли вырезать имя файла из полного пути функцией basename или есть более рациональный вариант.
 

fixxxer

К.О.
Партнер клуба
А если два файла с одинаковым именем зальют? Или с китайским именем? :)

Лучше всего завести отдельную таблицу для аплоадов с автоинкрементным полем, в ней (если необходимо) хранить оригинальное имя файла, а самому файлу делать уже _после_ insert-а в БД move_uploaded_file с именем вида ${last_insert_id}.jpg.

Если аплоадов будет много - подумай о том, как разложить по подкаталогам (ну, например, на каждые 1000 файлов создавать новый каталог).
 

allforweb

Новичок
Автор оригинала: fixxxer
А если два файла с одинаковым именем зальют? Или с китайским именем? :)

Лучше всего завести отдельную таблицу для аплоадов с автоинкрементным полем, в ней (если необходимо) хранить оригинальное имя файла, а самому файлу делать уже _после_ insert-а в БД move_uploaded_file с именем вида ${last_insert_id}.jpg.

Если аплоадов будет много - подумай о том, как разложить по подкаталогам (ну, например, на каждые 1000 файлов создавать новый каталог).
Я переименовываю каждый файл через md5 после загрузки, а то что создавать каталоги например для каждого месяца я согласен, но еще не дошел до этого.
 
Сверху