Непонятное в модуле Image

Прислано: Urfin

сб, 09/06/2007 - 12:39

Народ привет))) Уже и не думал, что сайт заработает.
Вчера зашел на ФТП своего сайта и умер. Оказывается IMAGE оставляет копии картинок и не одну и не две и не три а десятками. Перевискал все настройки но так и не понял что за фигня такая?
Подробнее происходит следущее:
Публикую фоту на сайте. В каталоге (специально отведенном для загрузки картинок) создается три файла. Все нормально. НО со временем появляются файлв под номерами имя_файла_0.jpg, номерами имя_файла_1.jpg, номерами имя_файла_2.jpg... итак до бесконечности. Что это такое и как с этим бороться?

Да. Есть еще пара вопросов. Что делать с русскими именами файлов. Пользователи не сильно понимают что делают. И нет ли автосжатия изображения при публикации материала (например 1024х768 уменьшить до 800х800)? На Drupal.org инфы нет или я не нашел.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано sexkiller в вс, 10/06/2007 - 04:16.

Может настроить папку для сохранинеия tmp файлов в временую папку операционной системы, т.е. от туда они раз сутки вычищаются ...


Опубликовано Urfin в вс, 10/06/2007 - 05:53.

Это понятно. Просто как работает этот модуль? Зачем создавать такой "кеш" модулю? Где прописывается путь для временных файлов? В настройках я не нашел ничего. А главное как быть с именами файлов в кирилице?


Опубликовано Urfin в вт, 12/06/2007 - 16:08.

Народ. У кого установлен этот модуль? Неужели нет ни у кого? Просьба отзовитесь. Судя по интересу к теме у всех все работает нормально или все забили на этот баг. Я понимаю, что в лом писать, но всетаки. Хоть какая то инфа нужна.


Опубликовано SadhooKlay (гостевой логин) в вт, 12/06/2007 - 16:13.

Щас на исходники посмотрю.
Может чере 30 мин. скажу.


Опубликовано worona в вт, 12/06/2007 - 16:33.

Добрый!
У меня установлен, но того что ты описываешь - не наблюдаю.


Опубликовано vadbars@drupal.org в вт, 12/06/2007 - 16:42.

Аналогично, не наблюдаю. Модуль плодит файлы, но все в каталоге temp. Их можно чистить по cron, о чем автор и пишет в readme. У вас на сайте "файловая система" настроена - /admin/settings/file-system ?

> И нет ли автосжатия изображения при публикации материала (например 1024х768 уменьшить до 800х800)?
У модуля Image как раз есть такая функция - /admin/settings/image


Опубликовано SadhooKlay (гостевой логин) в вт, 12/06/2007 - 17:26.

Да, авто-сжатие есть.
Плодит файлы где надо.
Собственно все верно.

Проблемы то собственно нет : )


Опубликовано qman в вт, 12/06/2007 - 18:21.

с русскими именами файлов проблему решали.
поищи.
не знаю решили или нет.


Опубликовано Urfin в вт, 12/06/2007 - 20:02.

Вот настройки Drupal у меня.
Файловая система вроде настроена. Автосжатия нет. Просто не понимаю в чем дело.
А вообще суть этого кэширования? есть патчи с Drupal.org Пробовал патчить. Либо не помогает, либо не работает.
Скриншоты у меня в блоге. Вроде все настроено нормально. Посмотрите.
http://www.drupal.ru/node/5945
Папки эти есть. cmod 777 уже поставил.


Опубликовано Urfin в чт, 14/06/2007 - 13:54.

Вчера установил новую версию Image 1.2. Проблемы остались прежними.
Путь, где установлен модуль у меня /modules относительно корня Drupal. Правильно?


Опубликовано sas@drupal.org в чт, 14/06/2007 - 14:26.

Друг, а ты модуль imagecache случайно не используешь ?


Опубликовано SadhooKlay (гостевой логин) в чт, 14/06/2007 - 16:51.

Да, да.
Поведай нам о используемых модулях : )


Опубликовано Urfin в чт, 14/06/2007 - 17:30.

Стандартные друпаловские. dhtml_menu 0.7, Notify 1.0, Image 1.2, Update statu 1.2, CCK 1.5 (off), Photoblog 1.x dev (off), AdSense 1.3 (off), Potoblog Views 1.x dev (off). Все. Imagecach а он что может помочь? Хоть название и по теме вроде, но ничего там не нашел.


Опубликовано sas@drupal.org в пт, 15/06/2007 - 04:49.

Ну понимаешь, по сути того что было сказано Выше логично предположить, что какие то проблемы не с Image (у всех остальных и в коде все ОК), а именно с твоими настройками и скорей всего на хостинге ( Вот например с CMOD), а по поводу Imagecache похожая проблема наблюдалась. SadhooKlay смотрел в код image и писал, что файлы то плодит, но в temp, я столкнувшись с "размножением" в imagecache, измени свой код - чтобы он вообще лишнего не плодил (много материала и лишние файлы были критично, даже если они маленькие) вот здесь писал http://drupal.ru/node/5149 может пригодится тебе :)


Опубликовано Urfin в пт, 15/06/2007 - 12:46.

Немного изменил image.module Теперь вроде записывает в /temp но не в системную, а в том каталоге, где хранятся фотки. Он туда и оригиналы помещает и previw и tumbnail. Копаюсь дальше.
SadhooKlay вчера вечером сказал, что посмотрит. Наверное некогда было ему. Пока нет от него ответа.


Опубликовано SadhooKlay (гостевой логин) в пт, 15/06/2007 - 14:12.

Итак.
Времени на самом деле банально нехватает.
Но всё же, я выкроил немного для тестирования модуля.

Во первых, что касается README.txt, а в частности:

1.) Copy this directory to your modules/ directory

Автор видимо слегка не ясно выразился, всем кому не ясно, объясняю.
Для установки модуля, скопируйте каталог image в sites/all/modules/

Далее.

4.) Configure cron if you didn't do so already to have your temporary upload
directory cleaned up. See http://drupal.org/cron for detailed instructions.

Настройте cron (не cron.php, а Linux/Unix Cron), если вы этого не сделали ранее, для очистки вашего временного каталога.
За более подробной инструкцией обратитесь к http://drupal.org/cron

Ну и наконец временная папка, это та, которая files/images/temp/ должна быть разрешена для записи, чтения и удаления из неё.

Я загрузил 3 изображения. Всё 3 были названы с использованием пробелов и символов кириллицы.
Поместил их в галерею, оставил к ним комментарии.
Запустил для верности cron.php (в него я написал чистить каталог temp).

Посмотрел файловую систему.
Да, действительно, файлы на диске в каталоге files/images/ создались с использованием кодировки UTF8.
Но какая нам разница? : )
Управлять ими из CMS То мы можем всё равно. Не важно как они на диске называются.
В базе прописано, что такой-то, такой-то файл на диске — такое-то , такое-то изображение в галерее пользователя.

После запуска cron.php, в каталоге files/images/temp/ ничего не осталось.
А после удаления картинок из галереи каталоги files/images/temp/ и files/images/ оказались пустыми — хвостов не осталось.

Мой вердикт:
Модуль работает нормально.


Опубликовано НовичОК в пт, 15/06/2007 - 15:05.

Еще раз. Модуль Image нужно копировать в sites/all/modules/???? А не просто в modules/???!!!
У меня модуль Image находится в папке modules/. Это не правильно???!!!

Лично у меня. У меня зависло количество фото в категории. Например, в катерогии 10 фото, а модуль пишет, что всего 3. Как это обновить?


Опубликовано vadbars@drupal.org в пт, 15/06/2007 - 15:22.

Модули можно устанавливать и в каталог modules/, и в sites/all/modules/.
Но рекомендуется - только в sites/all/modules/, чтобы не смешивать стандартные и пользовательские модули (удобнее обновлять, например).
Кроме того, модули могу устанавливаться в каталоги sites/какойтосайт1/modules/, sites/какойтосайт2/modules/ и т.п., если вы делаете "мультисайтинг" и у вас работают сайты какойтосайт1, какойтосайт2 и т.д.
Тогда все стройно и логично - стандартные модули собраны в каталоге modules/, модули, которые одинаковы для всех ваших подсайтов - в каталоге sites/all/modules/, а в sites/какойтосайт1/modules/ - только модули конкретно для сайта какойтосайт1.


Опубликовано НовичОК в пт, 15/06/2007 - 15:33.

Вот это да!! Я уже полгода на дрюпале и первый раз об этом читаю. Ведь во всех инструкциях написано именно в папку modules устанавливать. А оказывается правильней в sites/all/modules/. А ведь от этого вероятно много чего может зависеть.
Открыли глаза.


Опубликовано Urfin в пт, 15/06/2007 - 17:12.

SadhooKlay огромное спасибо.Версия 1.2 уже давольно сильно попатчена. Даже по сравнению с недавней 1.1. РАзница релизов менее двух недель!!!

А я поменял одну строчку еще.

* Generate image derivatives.
*/
function _image_build_derivatives(&$node, $temp = FALSE) поставил TRUE И сразу начал писать в /temp каталога /imadge.

Удивительная вещь вышла. Каталог images/temp утром стал чистым. У меня крон настроен на 30 минут. Сегодня проверю точно работает или нет.

В коде image.module есть функция cron

function image_cron() {
$path = variable_get('image_default_path', 'images') .'/temp';
$files = file_scan_directory(file_create_path($path), '.*');
foreach ($files as $file => $info) {
if (time() - filemtime($file) > 60*60*6) {
file_delete($file)

Вопрос эти 60*60*6 параметры крон? что первое второе и третье числа означают?

У меня тоже стоит в /modules Если мешает жить перенести безболезненно можно. Отключай в админ/модули/все модули имадж и переноси каталог на новое место. Я так делал. Ничего не изменилось. ПУти же остаются старые ))

З.Ы. И все же 100 раз уже пожалел, что IMCE не поставил. SadhooKlay ты говорил, что там править что-то нужно? Позже расскажешь? Есть еще один ресурс на подходе. Туда можно будет поставить.

Спасибо всем.


Опубликовано SadhooKlay (гостевой логин) в пт, 15/06/2007 - 17:25.

SadhooKlay ты говорил, что там править что-то нужно? Позже расскажешь? Есть еще один ресурс на подходе. Туда можно будет поставить.

И рассказывать нечего.
Вот он, пропатченый : )


Опубликовано worona в пт, 15/06/2007 - 17:51.

Послушал, перетащил в каталог sites/all/modules/ сторонние модули - теперь они
недоступны? Гостевая, фотогалереи.
Что присоветуете?


Опубликовано НовичОК в пт, 15/06/2007 - 17:54.

Это ж переворот в Дрюпале! :))


Опубликовано SadhooKlay (гостевой логин) в пт, 15/06/2007 - 18:00.

Перенесите их обратно.
Зайдите в "админку", выключите.
Перенесите в sites/all/modules/
Включите.


Опубликовано vadbars@drupal.org в пт, 15/06/2007 - 18:01.

Worona: На страницу "Модули" заходили? Правильнее, наверное, было бы выключить модули, перенести, заново включить.


Опубликовано Urfin в пт, 15/06/2007 - 18:06.

Послушал, перетащил в каталог sites/all/modules/ сторонние модули - теперь они
недоступны? Гостевая, фотогалереи.
Что присоветуете?

Обратное перемещение не помогает? )) А удалили из Управление/Конструкция/Модули ?

Да да. Еще вначале нужно выключить Аттач, Галерея, Импорт, потом сохранить, потом выключить сам имадж и опять сохранить. Потом уже перемещать каталог и инсталить заново.


Опубликовано worona в пт, 15/06/2007 - 18:04.

Спасибо!
Век прожил, недрупала не нажил.


Опубликовано Urfin в пт, 15/06/2007 - 18:11.

И рассказывать нечего.
Вот он, пропатченый : )

Спасибо)


Опубликовано НовичОК в пт, 15/06/2007 - 18:15.

Пропатченный IMCE_Gallery у меня всё равно не работает. Галерии не создаются у юзера и юзером. :((


Опубликовано Urfin в пт, 15/06/2007 - 18:19.

Пропатченный IMCE_Gallery у меня всё равно не работает. Галерии не создаются у юзера и юзером. :((

Только у пользователей? Админ создает?


Опубликовано НовичОК в пт, 15/06/2007 - 18:28.

Никак не создаются.


Опубликовано Urfin в пт, 15/06/2007 - 18:34.

Ошибка или ничего не происходит? Мож cmod на каталог куда должны создаваться не тот? Хотя глупый вопрос.)) Или в таксономии не создает?


Опубликовано НовичОК в пт, 15/06/2007 - 18:36.

:) на локалке. Попробуйте установить.


Опубликовано Urfin в пт, 15/06/2007 - 18:47.

Ыы... А че.. можно и на локалке. Win или Lin?


Опубликовано SadhooKlay (гостевой логин) в пт, 15/06/2007 - 19:30.

0. Установить IMCE
1. Назначить права пользовательским ролям на использование IMCE
2. Настроить IMCE
3. Поставить IMCE_Gallery
4. Назначить права пользовательским ролям на использование IMCE_Gallery
5. Настроить IMCE_Gallery
6. Каталог для изображений всех пользователей, в т.ч №1 должен иметь одинаковый префикс например user или u


Опубликовано Urfin в пт, 15/06/2007 - 20:22.

А где можно посмотреть IMCE_Gallery в работе? Ссылку плиз.


Опубликовано SadhooKlay (гостевой логин) в пт, 15/06/2007 - 20:32.

Ищем в google все адреса веб страниц, часть которых imce_gallery: inurl:imce_gallery

Получаем

www.hoy-pare.com/imce_gallery/add
http://www.my-pipes.com/user/29/imce_gallery/7
www.schulstudio.de/clay/?q=user/17/imce_gallery
how-to-box.com/boxing/user/1/imce_gallery?page=1

И т.п. ссылки : )


Опубликовано Urfin в сб, 16/06/2007 - 06:31.

Все. Проверил IMAGE удаляет файлы раз в сутки. Хотелось бы ускорить процесс удаления.
Что означают эти цифры в строке функции крон, самого image.module? if (time() - filemtime($file) > 60*60*6)
(выше приведен весь листинг функции)

Я понял так, что временя создания файла сравнивается с этим числом и если превышает значение произведения этих трех чисел, функция удаляет файлы.
Млин. Но почему именно три числа? Плохо не знать PHP :( Предположим 60 секунд в минуте умножаем на 60 получаем один час. и умножаем на 6 получаем 6 часов или время в секудах 21600 сек. Но могу спорить, что все файлы по истечении шести часов были на месте.

З.Ы. И все же ручками поработать пришлось. Странно почему автор выключил опцию записи производных в /temp


Опубликовано SadhooKlay (гостевой логин) в сб, 16/06/2007 - 11:39.

if (time() -
Если время минус
- filemtime($file)
Время создания файла
>
больше чем
60*
60 секунд (минута) умножить на
60*
60 минут (час) умножить на
6)
шесть


Опубликовано Urfin в сб, 16/06/2007 - 13:31.

Что в принципе подтвердило мои предположения. Все работает как надо. Дубликатов не создает. только кеширует в ТЕМР переписывая старые файлы, а потом удаляет. Думаю часа для кэша хватит.


Опубликовано sergiyko911 в ср, 11/07/2007 - 10:23.

а ВОТ ТАКОЙ ВОПРОС:
поставил модуль image. создаю галерею (admin ) , закидываю туда картинки (admin ) - картинки вижу. выхожу из сайта (anonymus) - гелерею вижу пустую - картинок нету.
где промахнулся? в чем бока?


Опубликовано Talifa в вт, 28/08/2007 - 04:43.

У меня та же беда


Опубликовано Urfin Juss в вт, 28/08/2007 - 08:58.

Скорее всего в правах. Проверь права на просмотр материала типа image анонимным пользователем.


Опубликовано sergiyko911 в вт, 30/10/2007 - 14:10.

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


Новое на сайте

Ссылки партнёров