|
|
|
| пишу сайт. возникли затруднения, которые сам решить не могу. прошу помощи вашей!
1)там есть доска объявлений. к объявленияс фотки. как лучше их организовать? хочу сделать для каждого объявления свою папку(тут тоже вопрос как называть папки). но почему-то движки не используют создание папок... а просто создают в одной папке картинки с очень уродливыми именами... в общем я запутался в этом вопросе! буду рад любым советам по этой теме!
2)есть массив двухмерный и значения типа $array[1][theme],$array[2][theme]... значения их это id тем. получается нужно перебирать все элементы, и изменять их. но для 100 элементов, и 10 тем. нужно сделать 1000 переборов... ведь это ресурсы есть будет не плохо? зачем тогда оптимизировать БД вышеизложенным способом?
P.S. сижу с кпк. сайт выглядит не плохо! респект верстальщику! | |
|
|
|
|
|
|
|
для: tricket
(04.08.2007 в 18:45)
| | Первая проблема легко решается с помощью базы данных - храните данные там, а фотографии в одной папке; имена фотографиям можно давать вида id_объявления.Имя_фотки.jpg, если уже не устраивает "некрасивое" имя из одного только ID. | |
|
|
|
|
|
|
|
для: Киналь
(04.08.2007 в 19:10)
| | я хочу сделать тоже самое но так
папка(id объявления)/имя_рисунка.jpeg
в чём минусс по сравнению с Вашим способом? | |
|
|
|
|
|
|
|
для: tricket
(04.08.2007 в 19:36)
| | Минус в производительности. Файлы по определению медленне БД, и при более-менее приличном количестве объявлений это будет оченб ощутимо. К тому же в случае файлов практически невозможено делать сложные выборки, не говоря уж о поиске по ключевым словам. Если же хранить текст объявления в БД, а фотографии в отделных папках, то это, конечно, лучше, хотя и "неспортивно"=) К тому же, помимо неспортивности, это не позволит в будущем поменять структуру храннения данных - например, вы захотите прикладывать к некоторым объявлениям нескоько фотографий, или по каким-то причинам решите, что такие имена папок вас не устраивают, или еще что-нибудь, мало ли. | |
|
|
|
|
|
|
|
для: Киналь
(04.08.2007 в 20:23)
| | нет нет я не про это... данные в БД будут хранится!
я про хранения самих картинок. не удобнее ли их хранить не в одной папке а разбив по категориям?
типа prodaga/auto/id/picture1.jpg . а все текстовые данные в БД естественно... | |
|
|
|
|
|
|
|
для: tricket
(04.08.2007 в 20:34)
| | Да, так можно, но, как я уже говорил выше, это сильно затруднит модификацию приложения в целом. Ну и при написании нужно будет внимательно следить, что куда копируется и где что создается, а также следить за адресом картинки непосредственно в самом объявлении. А так - вполне можно. | |
|
|
|
|
|
|
|
для: Киналь
(04.08.2007 в 21:17)
| | зато бекапить будет легче.. и в случае чего-нибудь экстренного(тьфу тьфу тьфу) легче восстанавливать...
хм а с точки зрения OS и файловой системы что лучше?
поидее лучше к примере 100 папок в каждой из которых по 10 изображений, чем 1 папку с 1000 изображений?
я не ошибаюсь? | |
|
|
|
|
|
|
|
для: tricket
(04.08.2007 в 21:29)
| | >зато бекапить будет легче.. и в случае чего-нибудь экстренного(тьфу тьфу тьфу) легче восстанавливать...
Ну-у... Таблица бэкапится одним запросом, а куча папок - рекурсивным циклом с фиговой тучей итераций; восстановление - аналогично.
>хм а с точки зрения OS и файловой системы что лучше?
>поидее лучше к примере 100 папок в каждой из которых по 10 изображений, чем 1 папку с 1000 изображений?
>я не ошибаюсь?
Это ууже не ко мне, но подозреваю, что это совершенно без разницы) | |
|
|
|
|
|
|
|
для: tricket
(04.08.2007 в 21:29)
| | хм а с точки зрения OS и файловой системы что лучше?
поидее лучше к примере 100 папок в каждой из которых по 10 изображений, чем 1 папку с 1000 изображений?
C точки зрения современных файловых систем (ntfs, reiserfs) объем каталога никак не влияет на быстродействие. А лишний уровень вложенности влияет, (и всегда влиял) заставляя кешировать большее количество каталоговых записей. Хотя куда больше он влияет не на быстродействие, а на сложность скриптов.
Если Вы хотите простой бэкап - храните всё в БД . Вообще всё, в т.ч. и фотографии.
Правда, при этом повысится нагрузка на сервер при отображении....
Кстати, я тоже не понимаю, почему дерево с файлами бэкатить проще, чем один каталог? | |
|
|
|
|
|
|
|
для: Trianon
(05.08.2007 в 16:47)
| | ну блин просто выглядит красивее)
с первой проблемой я понял как решить) всем спасибо) ответье пожалуйста ещё на маленький второй вопросик) | |
|
|
|
|
|
|
|
для: tricket
(05.08.2007 в 16:53)
| | >ну блин просто выглядит красивее)
В таком случае посмотрите в сторону mod_rewrite, возможно, он вам сильно поможет) | |
|
|
|
|
|
|
|
для: tricket
(05.08.2007 в 16:53)
| | Настоятельно рекомендую хранить файлы внутри одной папки, просто имена файлов можно организовывать по системе. Для примера есть файл с русским названием ОБЪЯВЛЕНИЕ11.JPG
Понятное дело, что при попадании файла на сервер наименование лучше изменить, так как если будут в названии русские буквы, да еще и регистр будет меняться, то будут сложности с выводом картинок. Самый рациональный способ, при закачке, переименовывать файл в нечто подобное 01_20070305_1710.jpg и в базе записывать путь до картинки. А выводить картинку через скрипт для примера pic.php?pic=mysql_id, где вместо mysql_id - номер картинки. А отрисовку картинки лучше доверить скрипту, так как существует дополнительная возможность в случае отсутствия картинки оповестить админа и/или восстановить картинку из бекапа, если данный бекап, скажем суточный, хранится в другой папке.
Какой плюс такого вывода картинок? При момощи mod_rewrite можно сделать короткие адреса. В итоге клиент будет видеть красивые названия, но без знания конкретного пути до картинок, что тоже в некоторых случаях требуется.
Тут уже выбирайте как проще и производительнее. | |
|
|
|
|
|
|
|
для: Jura
(05.08.2007 в 18:20)
| | киналь и Jura большое спасибо!!! дали хорошую пищу для размышлений! | |
|
|
|