|
|
|
| есть папка с файлами
down/
upload/
в них есть подпапки и собственно сами файлы.
down/1/1024x768/0001.jpg
down/3/0001.jpg
upload/avto/5/0001.jpg
дак вот собственно вопрос как лушче идентифицировать файлы в бд?
я нечего лучше не придумал кроме того как брать путь $pat = md5(upload/avto/5/0001.jpg);
и использовать его в бд в качестве первичного ключа...
таблица коментов - `pat`, `comment`
таблица загрузок `pat`, `count`, `count_all`
но такая реализация получается очень накладной.
подскажите какие нибудь другие идеи =) буду благодарен. | |
|
|
|
|
|
|
|
для: skor
(07.01.2008 в 14:25)
| | Ну неужели нет другого способа и мне придется грузить базу длинными where? | |
|
|
|
|
|
|
|
для: skor
(07.01.2008 в 17:19)
| | А зачем хеш? Тем более хеш пути. Вы что, сначала будете получать путь, а затем данные файла из БД? Присвойте каждому файлу числовой идентификатор, поставьте auto_increment.
По запросу файла через идентификатор Вы можете получить и данные файла (путь к нему, кол-во загрузок и проч.) и комментарии к нему. | |
|
|
|
|
|
|
|
для: Unkind
(07.01.2008 в 17:28)
| | Ну вобщем простой скрипт листинг директорий, при выводе определенного файла на страницу, датеся запрос в бд (путь к файлу). Если там еще нет такого файла то создается новая запись для данного файла, если уже есть то увеличиваем счетчик загрузок.
Аналогично дается запрос в бд с коментами. передаем путь к файлу, получаем все записи в которых есть этот путь.
md 5 необязательно, просто чтоб первичный ключ был 32 символа, и небыло всяких слешей точек и прочего. | |
|
|
|
|
|
|
|
для: skor
(07.01.2008 в 17:40)
| | Значит надо переписать скрипт таким образом, чтобы листинг проводился не из директории, а из таблицы файлов. Иначе да, только хеш. | |
|
|
|
|
|
|
|
для: Unkind
(07.01.2008 в 17:28)
| |
>Присвойте каждому файлу числовой идентификатор, поставьте auto_increment.
|
дело в том что я лью очень много картинок за раз через фтп. непредставляю каким способом присваивать каждому файлу свой id.
>По запросу файла через идентификатор Вы можете получить и данные файла (путь к нему, кол-во загрузок и проч.) и комментарии к нему.
|
В том то и проблема что не придумать другого идентификатора кроме как самого пути. | |
|
|
|
|
|
|
|
для: skor
(07.01.2008 в 17:43)
| | > дело в том что я лью очень много картинок за раз через фтп. непредставляю каким способом присваивать каждому файлу свой id.
Считываете содержимое директории с новыми файлами, ищите (если не уверены, что все файлы новые) в базе файл с таким путем и если не находите, то добавляете в таблицу новую запись с путем к файлу. | |
|
|
|
|
|
|
|
для: Unkind
(07.01.2008 в 17:46)
| | поддиректорий очень много, придется рекурсией каждый раз обходить, тоже накладно.
ладно тогда так и буду использовать путь. | |
|
|
|
|
|
|
|
для: skor
(07.01.2008 в 17:50)
| | Каждый раз - это как? Вы файл, наверное, заливаете один раз? Может это просто лень? :) | |
|
|
|
|
|
|
|
для: Unkind
(07.01.2008 в 17:55)
| | Ну обновляю сайт частенько ) Поэтому и говорю каждый раз =) | |
|
|
|
|
|
|
|
для: skor
(07.01.2008 в 23:51)
| | Ну так рекурсивно обходить директории с новыми файлами будет машина, а не Вы. | |
|
|
|