Картинки к статьям и их наименование

Духовность™

Продвинутый новичок
Картинки к статьям и их наименование

Не так давно поставили задачу переделать механизм загрузки картинок на сайте таким образом, что бы изображения именовались "как есть" - т.е. загрузит редактор изображение vasya.gif, надо что бы оно и сохранялось с тем же именем. Если такое изображение уже есть, то добавить знак '_'.
Пришлось переделать первоначальный вариант - именование изображение по id статей. Теперь уже есть куча файлов типа _putin.jpg, __putin.jpg, ___putin.jpg и т.д.

Главный аргумент в пользу такого решения был таков, что мол гугл индексирует имена картинок и все это хорошо влияет на посещаемость сайта.

Что скажите? По-моему - это глупость.
 

jonjonson

Охренеть
Вообще-то в первую очередь индексируется атрибут alt тега img или я не прав?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Главный аргумент в пользу такого решения был таков, что мол гугл индексирует имена картинок и все это хорошо влияет на посещаемость сайта.

Что скажите? По-моему - это глупость.
По моему глупость - это такие заявления.
А на посещаемость хорошо вилияет __контент__ сайта. :D
 

asterisk

Новичок
имхо
гениально...
и это вместо того что бы дать возможность копирайтерам самостоятельно выбирать и строить структуру файлового архива, пусть и в пределах жестко заданной директории.
Например у нас копирайтеры очень любят собирать файловые каталоги аналогично струкутре дерева на сайте, т.е. для новостей будет создан каталог "/about/news/super_novost/super_kartinka_dla_novosti.jpg"
даже как то приятней смотрится чем "/1734/kartinka.jpg"

-~{}~ 03.04.08 13:32:

+ при необходимости сделать off-line версию сайта юзверю не нужно будет открывать html странички что бы найти ссылку на интересующий его файл. файл можно будет найти просто посмотрев на структуру каталогов в директории /file/
 

Духовность™

Продвинутый новичок
дать возможность копирайтерам самостоятельно выбирать и строить структуру файлового архива
а ключи от квартиры им не дать?

у нас не такой мега-проект, что бы реализовывать такие гениальные вещи.

даже как то приятней смотрится
кому приятней становится от того, где лежит картинка? Такая же глупость, как с ЧПУ. редакторы вообще ничего не должны знать о том, как и где хранится изображение
 

kruglov

Новичок
Проблема с папками как раз первоочередная, т.к. нельзя в одной папке иметь 2 файла с одинаковыми названиями.

Делайте для каждой новости по папке и храните там ее личные картинки.
 

asterisk

Новичок
а почему бы и нет?
NetCat для каждого узла создает по директории, и ничего. :)

а ключи от квартиры им не дать?
всегда считал что директория в которой хранятся картинки для наполнения сайта контентом это директория копирайтеров которые имеют полное право формировать его по своему видению.

у нас не такой мега-проект, что бы реализовывать такие гениальные вещи.
уж поверь, сделать это не намного сложнее чем предложенный тобой подход.
 

kruglov

Новичок
triumvirat
Я со своей стороны удивлен, что вы серьезно собираетесь хранить картинки для разных новостей кучей.

Сразу понятно про картинку, чья она. Какие из них удалять при удалении конкретной новости. Не боимся пересечения имен (уж в одной-то новости редактор легко разберется с именами картинок).

Возникает, правда, вопрос, что делать, если захочется одну картинку показывать в 10 новостях, в случае чего заменяя ее во всем десятке скопом.
 

kruglov

Новичок
А чего плохого? От единственного плохого следствия спасет покупка жесткого диска побольше.
 

Alexandre

PHPПенсионер
От единственного плохого следствия спасет покупка жесткого диска побольше.
не совсем так, если директорий более чем 1000 в одной из папок, то файловая система начинает подтормаживать - общеизвестный факт. по этому картинки раскладывают по папкам, а если папок много - то папки делят еще на под-папки. если названия картинок соответствуют id, то тут все просто.
В принципе, можно брать по три первых буквы от имени файла, для подпапок,
тогда должно быть все в порядке.
 

Духовность™

Продвинутый новичок
Всё. Переделал в новой версии системы как Сергей Круглов посоветовал.

Точнее, так: картинки принадлежащие статье с ID в диапазоне 1 -- 1000 кладу в папку ./1000
картинки принадлежащие статье с ID в диапазоне 1001 -- 2000 кладу в папку ./2000
и т.д.

в этих папках соответственно создаются директории с ID статьи, к которой принадлежит картинка.

Алгоритм вычисления тут: http://phpclub.ru/paste/index.php?show=2142

Вывод сделал один: класть все картинки в одну папку, да ещё если они с человекопонятными именами - это геморрой страшный. Куча дебильных проверок на совпадение имен и т.д.

Сечас реализация стала простая и понятная.

Кстати, если это не ЧПУ, то lenta.ru также хранит изображения - в поддиректориях.
 

kruglov

Новичок
triumvirat
У меня именно так и сделано уже лет 5. :)

Только папки у меня не по тысячам делятся, а по двум последним цифрам ($id % 100), т.е. 15/1915/xxx.gif

Для равномерности заполнения при создании-удалении.

Но это волюнтаристское решение, у меня нет аргументов в пользу его превосходства.
 
Сверху