Центр пользователя  |  Ваши сообщения  |  FAQ
Форум поддержки phpBB » phpBB 3.0.x » Модификация phpBB 3.0.x » Новые возможности

мод для реального уменьшение изображение

Публикация и обсуждение идей о расширении функциональности phpBB3
Пожалуйста, помните, что существуют: Поиск, Правила форума
Возможно, ответ на Ваш вопрос уже имеется: Документация, Статьи, Накопленный опыт
Полезные материалы по этой теме: Инструкция по установке модов

Сообщение 12 окт 2009, 00:22

выстави сюда ;) помоги другим ;)
FelexS
Бывалый
 
Сообщений: 114
Зарегистрирован:
19 май 2009, 15:45
Откуда:
Латвия - Рига
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 12 окт 2009, 06:14

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

Сперва, я добавил функцию уменьшение изображение при помощи создание новой, уменьшенной копией оригинала. Потом, в месте, где фотография должна была быть скопирована в специальную папку внутри форума (в серваке), я убрал скрипт и добавил свой, где он создает новое изображение из закачинной фотки и сразу сохраняет его в ту спицальную папку. У меня это папка: forum/files.

forum/includes/functions_upload.php:

functions_upload.zip
(6.74 KiB) Скачиваний: 174
firdavs_abc

 

Сообщение 12 окт 2009, 11:27

firdavs_abc писал(а):Пожалуйста. Этот скрипт у меня работает, но я не гарантирую чту у всех она будет также, без проблемно работать.

Сперва, я добавил функцию уменьшение изображение при помощи создание новой, уменьшенной копией оригинала. Потом, в месте, где фотография должна была быть скопирована в специальную папку внутри форума (в серваке), я убрал скрипт и добавил свой, где он создает новое изображение из закачинной фотки и сразу сохраняет его в ту спицальную папку. У меня это папка: forum/files.

forum/includes/functions_upload.php:

functions_upload.zip


Спасибо! буду смотреть, позже отпишу.
FelexS
Бывалый
 
Сообщений: 114
Зарегистрирован:
19 май 2009, 15:45
Откуда:
Латвия - Рига
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 23 янв 2010, 00:09

Не могли бы сказать о результатах? Получилось ли сжимать изображения?

Скачал файл functions_upload.zip, заменил файл.
Изображения действительно сжимаются, но только небольшого размера. Фото 2 мб, например, не сжимает и выдает ошибку.

Заранее спасибо!
kiber

 

Сообщение 12 мар 2010, 18:30

На сколько я помню проблема не в форуме а в ограничении на сервере по размеру передачи файлов по веб (php.ini). А так же в админке есть пункт "Максимальный размер файла:" в меню "настройки вложений".
Для уменьшения размера загружаемого изображения использовал функцию, который где то нашел, уже не помню. Для ее внедрения необходимо в function_upload.php в функции move_file после:
Код: выделить все
               @unlink($this->filename);

            break;

            case 'local':

               if (!@copy($this->filename, $this->destination_file))
               {
                  $this->error[] = sprintf($user->lang[$this->upload->error_prefix . 'GENERAL_UPLOAD_ERROR'], $this->destination_file);
                  return false;
               }
               @unlink($this->filename);

            break;
         }

вставить:
Код: выделить все
       if ( $this->is_image() )
       {
          $this->resize_images();
       }

И вставить функцию, у меня она вставлена после функции heck_content
вместо 850px ставите свои размеры:
Код: выделить все
    /**
    * Resize images with the true diemensions (850*850)
    */
    function resize_images()
    {
       if ( $this->is_image() ) {
       $limite_largeur = "850px";
       $limite_hauteur = "850px";
       $size = getimagesize($this->destination_file);
       $largeur = $size[0];
       $hauteur = $size[1];
       if($hauteur > $limite_hauteur OR $largeur > $limite_largeur)
       {
       if($largeur > $limite_largeur)
       {
       $hauteur = $hauteur / ($largeur / $limite_largeur);
       $largeur = $limite_largeur;
       }
       if($hauteur > $limite_hauteur)
       {
       $largeur = $largeur / ($hauteur / $limite_hauteur);
       $hauteur = $limite_hauteur;
       }
       
       $destination = imagecreatetruecolor($largeur, $hauteur);
       if ( $this->extension == "jpg" || $this->extension == "jpeg" ) $source = imagecreatefromjpeg($this->destination_file);
       elseif ( $this->extension == "png" ) $source = imagecreatefrompng($this->destination_file);
       elseif ( $this->extension == "gif" ) $source = imagecreatefromgif($this->destination_file);
               
       imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur, $hauteur, $size[0], $size[1]);
       if ( $this->extension == "jpg" || $this->extension == "jpeg" ) imagejpeg($destination, $this->destination_file);
       elseif ( $this->extension == "png" ) imagepng($destination, $this->destination_file);
       elseif ( $this->extension == "gif" ) imagegif($destination, $this->destination_file);
       }
    }
    }
ncux32

 

Сообщение 01 май 2010, 01:21

работает отлично.. правда еще не проверил на всех браузерах, но результатом уже доволен..
Добрый и хороший женский форум ( http://kak2z.ru )
kak2z
Пользователь
 
Сообщений: 21
Зарегистрирован:
05 апр 2010, 23:56
Откуда:
Торонто, Канада.
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 17 май 2010, 17:50

Добрый вечер!
сделал в файле изменения по вашим советам (я только не понял - их нужно в дополнение к уже измененному файлу forum/includes/functions_upload.php делать???), как и у предыдущего пользователя маленькие фотки хорошо сжимает, а про большие пишет: Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2336 bytes) in /home/viktur/public_html/viktur/forum/includes/functions_upload.php on line 51

ncux32 писал(а):А так же в админке есть пункт "Максимальный размер файла:" в меню "настройки вложений".
я поставил без ограничений
ctrelok

 

Сообщение 06 июн 2010, 18:01

К этому хаку можно еще приделать вотемарку, для этого в файле functions_upload.php добавьте перед строками
Код: выделить все
       if ( $this->extension == "jpg" || $this->extension == "jpeg" ) imagejpeg($destination, $this->destination_file);
       elseif ( $this->extension == "png" ) imagepng($destination, $this->destination_file);
       elseif ( $this->extension == "gif" ) imagegif($destination, $this->destination_file);


вот это
Код: выделить все
$black = imagecolorallocate($destination,255,255,255);
$str = "Ваш Текст";
imagestring($destination,5,8,4,$str, $black);


и на всех сжимаемых изображениях будет ваш текст)))
Добрый и хороший женский форум ( http://kak2z.ru )
kak2z
Пользователь
 
Сообщений: 21
Зарегистрирован:
05 апр 2010, 23:56
Откуда:
Торонто, Канада.
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 19 июл 2010, 08:30

описанный выше ресайз стоит уже давно все работает.

А вот это, не получается:
kak2z писал(а):этому хаку можно еще приделать вотемарку
и на всех сжимаемых изображениях будет ваш текст)))


Текст не накладывается, в чем может быть проблема?
nacekomie

 

Сообщение 09 авг 2010, 06:30

РЕБЯТ, ПОДскажите плиз по папке forum/files, она весит уже 150 метров, а загруженные полгода назад фотки почему-то в форуме не отображаются, как грамотно почистить эту папку чтоб лишнего не удалить?
znaksl

 


Вернуться в Новые возможности

 


  • Похожие темы
    Ответов
    Просмотров
    Последнее сообщение

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Форум поддержки phpBB
2008 - 2017 © BB3x.ru - русская поддержка форума phpBB3
Создано на основе phpBB® Forum Software © phpBB Group
авторов модов
разработчиков скинов
русификаторов
и всех поклонников phpBB3