[РЕШЕНО] Изменение папки хранения уже загруженных на сайт оригиналов изображений.

Главные вкладки

Аватар пользователя Yarri Yarri 4 августа 2014 в 14:29

Есть одна проблема.
Сразу скажу, что решенная проблема с переносом всего каталога общих файлов не та ситуация. У меня как раз общий каталог на месте и остается.
Изначально поля хранения избражений на сайте были не настроены и по-умолчанию при импорте документа (переносил данные с другого сайта через импорт csv) все картинки свалились в корень основной папки общих файлов (т.е. sites/default/files).
И, естественно, при использовании elfindera он тупо подвисает, пока не прочитает весь каталог с картинками.
Сделал подпапку imagе, слил туда все файлы картинок из корня.
Изменил настройки поля image во всех типах документов, где они используются.

Осталось найти место, где прописаны пути для старых картинок. Ибо даже после очистки кеша система за картинкой все одно идет по ее старому адресу.
Через поиск в базе данных по содержимому default/files ничего не находится. И думается это так и должно быть. Видимо это место где-то отдельно дописывается к основному пути для файлов.
А вот где...

Комментарии

Аватар пользователя Dalay Dalay 4 августа 2014 в 14:39

"Yarri" wrote:
Через поиск в базе данных по содержимому default/files ничего не находится.

Естесственно. Пути в базе описаны(в таблице file_managed) через stream wrapper. Т.е., вместо default/files используется конструкция типа public://путь_к_файлу_относительно_файловой_дирректории_сайта.

Аватар пользователя Yarri Yarri 4 августа 2014 в 14:46

"Dalay" wrote:
Естесственно. Пути в базе описаны(в таблице file_managed) через stream wrapper. Т.е., вместо default/files используется конструкция типа public://путь_к_файлу_относительно_файловой_дирректории_сайта.

Отлично!
Тогда все упрощается. Осталость нарисовать скрипт по замене текста в данной таблице.
По результатам отпишусь.

Аватар пользователя Yarri Yarri 4 августа 2014 в 16:15

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

Допустим, мы хотим переместить уже созданные и закачанные изображения из корня общей папки в отдельную папку image (или разбить их по типам материалам, но тогда надо быть внимательнее при перемещении файлов).

1. Создаем папку image внутри sites/default/fies
2. Перемещаем туда все интересующие нас загруженные оригиналы картинок
3. В настройках структуры материалов поля Изображение Каталог файлов - image
4. После идем в папки styles и в каждом разделе чистим кеши (они пересоздаются с нового места).
5. Идем в phpMyAdmin и нахожим там таблицу file_managed, изучаем ее поле uri, смотрим какие именно записи надо заменить (там вначале есть еще пара записей, имеющим другие пути и которые не надо изменять, типа icon/ feed и т.д.)

Вот скрипт для изменения:
UPDATE `file_managed` SET `uri` = REPLACE(`uri`, "://", "://image/");
Еще раз обращаю внимание, что строка поиска и замены должны быть наиболее точными для исключения лишних системных записей.

После этого чистим кеш сайта, кеш броузера.