0 Пользователей и 1 Гость просматривают эту тему.
  • 30 Ответов
  • 8924 Просмотров
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
И действительно, недавно зашел на хостинг посмотреть сколько места занимает свеженький сайт с 18 пользователями JomSocial? которые перезагружали немного фотографий. Сайт весит 500 метров... Откуда, сказал я? :P Залез на хост в папку images/там где хранит фото JomSocial, и просто ужаснулся!  >:( Оказывается фотографии на сервере не сжимаются, а хранятся в оригинальном размере, и просто показываются в масштабе под экран. Получается, если люди грузят фотки по 1.5 мегабайта, а у нас в городе все так делают, никто не сжимает их, то в итоге представьте какой размер хостинга нужен, если зарегится более 1000 человек и они будут грузить такие тяжелейшие фото! Это же ужас! :o

Вопрос: Сто можно сделать, чтобы при загрузки  - оригинальные изображения уменьшались в размере и весе так же как и аватары например ? Думаю, для знатоков это не проблема, но у верен, что таким как я (непрофессионалам, а любителям) - правильный ответ на вопрос очень поможет! !

Спасибо кто ответит заранее...
*

PashkaRu

  • Давно я тут
  • 952
  • 91 / 4
  • Дедушка Игнат, изыди ((((
ну пока проблема не выросла до рамок хостинга..

а вообще да, посомтрел, оригинальные фотки сохраняются зачем-то...
+
*

SyncMaster

  • Moderator
  • 103
  • 51 / 6
Сам пока не копал, но если это действительно проблема не в настройках админки и хостинга, то плохо. Судя по changelog'у JomSocial 1.6.250 beta это не исправили.
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
Можно отграничить размер загружаемого фото по весу? вроде была такая функция... 500 кб вполне достаточно, чтобы юзеры начинали сами сжимать фото.
Помог? Поставь(те) плюс в репутацию.
*

hybridized

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Жесть, сам в шоке. никто с этим так и поборолся?
*

hybridized

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
не, значительно раньше.

Я думаю заказывать за деньги доработку этого безобразия. Кто готов скинуться поддержать, пишите в эту тему
*

hybridized

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Заказал интеграцию JoomGallery с JomSocial + при загрузке уменьшение фоток в галерею JomSocial.
*

djos

  • Захожу иногда
  • 158
  • 0 / 0
  • http://shepetivka.com.ua
Ну вы тут блин проблему нашли. Не удаляется только фотки в папке /images/originalphotos/
Можете смело все в этой паке удалять кроме самой папки, сами фотки находятся /images/photos
Мне лично нравится что оригинашьные фотки не удаляются, а вдруг надо будет побольше фотки)
А удалить самому всегда можна)
*

MuxaS

  • Захожу иногда
  • 78
  • 3 / 0
Жесть... Я оригинальные фотки сохраняю на комп себе (на всякий случай), а с сервака всё в оригинальном размере удаляю.
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
Наверно никогда решения не найдет ((

Как вконтакте классно, у них там триллиард фоток, и все уменьшенные...  По 45 килобайт примерно ((.

Думаю, нужен хак.

3) function _optimalResizedFilename(&$photo, $w , $h) уменьшает загруженные фотки для отображения на сайт.

ничего эта фкнкция не уменшает, а только возвращает путь и имя уменшеного рисунка...

кому нужно решение етой проблемки стучите в асю (icq) 243666200 ...
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
может кто подскажет как решить проблему?
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Уменьшают судя по всему следующие функции:

function cImageResize и function cImageResizePropotional в файле /helpers/image.php

И довольно умно сделано, если картинка в оригинале уже сжата, то функция просто копирует картинку. Думаю поковыряюсь на выхах  и сделаю что-нибудь приемлемое. Можно для начала такой алгоритм задать: картинка-оригинал загружается в originalphotos, затем к ней сразу ресайз применяется и она кладется во временную папку, после чего оригинал удаляется и фотка из временной папки перемещается в папку оригиналов. При таком раскладе при просмотре файлы из оригиналов просто будут копироваться в папку уменьшенных фоток и старые залитые фотки изменения не затронут, просто они будут место занимать конечно.
« Последнее редактирование: 21.12.2009, 17:22:56 от steelcat »
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
ну их то большие можно вручную будет удалять периодически с сервака?
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
тут два варианта может быть: или ресайзить один раз при заливке, или проверять каждый раз при просмотре оригиналы и заменять большие маленькими в оригинальной папке. можно оба варианта сделать. тогда рано или поздно все фотки будут ужаты.
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Первый результат есть, все оригиналы ресайзятся как надо (фотки в photos и original photos теперь идентичны, даже по хэшу), но только при просмотре. То есть решение не элегантное, старые фотки, которые уже просматривались, не уменьшатся. Но в принципе, если с нуля сайт ставить, то все норм будет. Но опять же, фотки, которые никто не смотрит, не уменьшатся.  ^-^
Буду ковырять дальше.
« Последнее редактирование: 22.12.2009, 16:14:46 от steelcat »
*

Sergeych

  • Захожу иногда
  • 156
  • 23 / 0
Первый результат есть, все оригиналы ресайзятся как надо (фотки в photos и original photos теперь идентичны, даже по хэшу), но только при просмотре. То есть решение не элегантное, старые фотки, которые уже просматривались, не уменьшатся. Но в принципе, если с нуля сайт ставить, то все норм будет. Но опять же, фотки, которые никто не смотрит, не уменьшатся.  ^-^
Буду ковырять дальше.
Добрый человек не выложит хотя-бы beta версии своих наработок?
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
*

Sulpher

  • Живу я здесь
  • 2058
  • 393 / 15
  • Шаблоны и расширения Joomla
Добрый человек не выложит хотя-бы beta версии своих наработок?
Присоединяюсь. Можно допилить совместно. Или скинуться доброму человеку на пиво. :)
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Да ребяты, это же не решение:  ^-^

файл com_community/controllers/photos.php, ищем в нем включение функции cImageResizePropotional, находим три строчки, они пишут из originalphotos в photos c изменением размера, просто копируем после каждой из этих строк точно такую же, но указываем в качестве итогового пути исходный, и все дела.  ^-^
Ищем:
Код
if( $info[0] <= $maxWidth && $info[1] <= $maxHeight )
{
// If the width and height does not exceed the gallery's image width and height,
// we do not need to resize them since we know it should display nicely in the gallery.
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, $info[0], $info[1] );
}
else if( ( $info[0] / $info[1] ) < $whRatio )
{
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, 0, $maxHeight );
}
else
{
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, $maxWidth, 0 );
}

Заменяем на:
Код
if( $info[0] <= $maxWidth && $info[1] <= $maxHeight )
{
// If the width and height does not exceed the gallery's image width and height,
// we do not need to resize them since we know it should display nicely in the gallery.
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, $info[0], $info[1] );
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $photo->original, $imgType, $info[0], $info[1] );
}
else if( ( $info[0] / $info[1] ) < $whRatio )
{
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, 0, $maxHeight );
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $photo->original, $imgType, 0, $maxHeight );
}
else
{
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, $maxWidth, 0 );
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $photo->original, $imgType, $maxWidth, 0 );
}

Но это "дитя" родилось спонтанно, посидеть подольше и поставить ресайз сразу после аплоада. Пока не понял как подпихнуть и в каком месте параметры ресайза. Еще хочу кнопари поворота фоток подпихнуть на джаве в галерею, без них очень грустно, а также нормальный аплоад фоток пакетом. Может поработаем совместно и доведем до ума?
« Последнее редактирование: 25.12.2009, 18:32:35 от steelcat »
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Гы. Так все жаждали решение и тишина...  ::) Этот вариант кстати глючит несколько, сказывается задержка при обработке изображений. То если не дождаться просмотра фотки и начать просматривать следующую, то появляется фотка, которую посмотреть уже не удастся.
« Последнее редактирование: 25.12.2009, 19:31:21 от steelcat »
*

Sulpher

  • Живу я здесь
  • 2058
  • 393 / 15
  • Шаблоны и расширения Joomla
Я отписал разработчикам и попросил решить эту проблему. Посмотрим, что получится. Открою по секрету - скоро выйдет новая версия JomSoical ;)
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Ну я свой вариант довел до ума, теперь не глючит. Будем ждать грамотное решение от разработчиков, надеюсь что не зажрутся и не зашифруют свои коды, как это сделали разработчики simgallery.
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
steelcat c прошедшими праздниками, скажи как ты все же сделал? какой конечный вариант?
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
steelcat c прошедшими праздниками, скажи как ты все же сделал? какой конечный вариант?

Конечный вариант, работающий более корректно:
Код
			if( $info[0] <= $maxWidth && $info[1] <= $maxHeight )
{
// If the width and height does not exceed the gallery's image width and height,
// we do not need to resize them since we know it should display nicely in the gallery.
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, $info[0], $info[1] );
copy(JPATH_ROOT . DS . $imgPath, JPATH_ROOT . DS . $photo->original);
}
     else if( ( $info[0] / $info[1] ) < $whRatio )
{
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, 0, $maxHeight );
copy(JPATH_ROOT . DS . $imgPath, JPATH_ROOT . DS . $photo->original);
}
else
{
cImageResizePropotional( JPATH_ROOT . DS . $photo->original, JPATH_ROOT . DS . $imgPath, $imgType, $maxWidth, 0 );
copy(JPATH_ROOT . DS . $imgPath, JPATH_ROOT . DS . $photo->original);
}

Немного освоюсь с основами PHP, сделаю ресайз прямо после аплоада, а пока так.
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
как обстоят дела? у кого-нить получилось доработать до конца?   ::)
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Кто смотрел код JS 1.6 ?
там вообще по другому. Кто нашел решение с резайзом изображений?
Всё есть в тебе. Реализовывайся.
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Всё есть в тебе. Реализовывайся.
*

krylof

  • Захожу иногда
  • 92
  • 5 / 0
Может, я что то не так понимаю? JomSocial > Конфигурация > Медиа > Фото и альбомы > Удалять оригиналы фото > ДА. При закачке фото в ~2mb, остается на сайте фото хорошего качества ~150kb
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Регистрация и Авторизация в JomSocial - проблемы, вопросы

Автор AlexAl

Ответов: 294
Просмотров: 73581
Последний ответ 15.05.2019, 16:08:31
от AdWeb
Подключение JomSocial к Amazon S3 | Нужна помощь?

Автор Wassup

Ответов: 14
Просмотров: 6311
Последний ответ 07.04.2019, 09:38:31
от powerful888
Как изменить поля регистрации в JomSocial?

Автор 1ncom1ng

Ответов: 7
Просмотров: 4326
Последний ответ 29.03.2019, 01:03:37
от DomBeri
Письма уведомления от JomSocial

Автор coder-max

Ответов: 84
Просмотров: 17481
Последний ответ 12.01.2017, 18:07:39
от FitMe
[Решено] Загрузка изображений при загрузке в галерею с помощью FlashUploader

Автор Yavich

Ответов: 21
Просмотров: 9778
Последний ответ 03.04.2016, 00:28:28
от andersan2000