хранение файлов вне базы, т.е. в файловой системе, как реализовать?

Статус
В этой теме нельзя размещать новые ответы.

Natik

Писатель
Регистрация
29 Сен 2007
Сообщения
8
Реакции
0
Мне нужно указать ссылки в таблицах туда, где хранятся мои элементы базы, то есть в файловую систему, как это реализуется?
То есть
CREATE TABLE DRAWINGS
ID int NOT NULL auto_increment,
Drawing_name varchar(50) NOT NULL default '',
/ а теперь надо ссылку на файл в файловой системе - как это будет?????/
PRIMARY KEY (id) ) TYPE=MyISAM AUTO_INCREMENT=1 ;
 
Предположим стандарт /var/www-data/site/.
Записывай ссылки в ячейки относительно рабочего пусти сайта. Например, images/img000.jpg и так далее.
Все банально :)
 
у меня реализованно так:
есть папка /var/www/t1 - это в конфиге корень файла юзеров - почему так, позже понятно будет
далее - есть индексная таблица в sql - files - тупо user_id, file_name, act (активность - если 1 - живой, 0 - удалён - для юзера невидим, но файл на FS есть)
в пхп при upload сначала файл падает в темп - потом ты с ним делаешь чё угодно если он залит - в /var/www/t1 есть подпапки юзеров - соответственно берёшь переменную из сессии по имени - смотришь - is директория exist - если есть - пишешь на аплоад, если нет - создаёшь папку и пишешь туда из темпа файл - для полной уверенности напиши функцию в хидере которая проверяет сессии и юзверь-папки.

В принципе всё описал. Не забудь про .htaccess и mod_security)))
 
Предположим стандарт /var/www-data/site/.
Записывай ссылки в ячейки относительно рабочего пусти сайта. Например, images/img000.jpg и так далее.
Все банально :)

Согласен.
Если нет нужны в абсолютных путях, то храним только относительный путь относительно скрипта работы с базой или от корня сайта...

В противном случае вперед дописываем еще абсолютный адрес каталога
 
лучше скажите зачем вообще использовать такую связку - имхо она бессмыслена или все в файлах или все в базе! ессно кроме картинок или файлов которые юзер загружает т.к. если их много, то надо раскладывать по дирректориям а возможно вешать на другой домен...
если база используется и от нее никуда не деться, то в нее пишется только имя картинки и все, никакие пути в базу писать не надо т.к. она растет и при определенных условиях поиск по ней будет затруднен - съест много ресурсов...
имхо пути файлов может определять функция на основании например имени пользователя типа: имя - ВАСЯ, путь - В/А/С/Я/картинка.жпег и т.д. и т.п. из базы достает только имя файла....
 
Если переход по ссылке на картинку и еще привьюшки, то хранить пути обязательно и в БД. При большом количестве... БД все равно быстрее выполняет запрос, тем более что он прост до упора (ни вложенности, ни много табличный). использовать файловую систему как по мне вообще изврат, это для логов оставляем, другое дело разборка регулярными выражениями входных данных из файла. Как аргумент - все серьёзные проекты привязаны к БД(не обязательно мускуль). Вот превьюшки точно обязательны:)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху