Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Уменьшение фото + миниатюра + водный знак

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Seriniti
phpBB 1.0.0
Сообщения: 9
Стаж: 13 лет
Благодарил (а): 3 раза

Уменьшение фото + миниатюра + водный знак

Сообщение Seriniti »

Всем привет!
Собственно работаю с phpbb совсем не давно, но как уже успел увидеть некоторые моды друг с другом не дружат, поэтому решил спросить вашего совета.
В общем необходимо, что бы люди могли загружать фото любого размера т.е. ограничения не было, но сами фото если большого размера, то уменьшались до заданного. Так же было бы здорова если бы это все было по типу лайт бокса т.е. миниатюра нажимаем и видим полное изображение. + к этому всему надо еще и водный знак ставить.
Как это можно реализовать?

В данный момент поставил imageresize (он же кажется highslide) обрадовался что все здорова, но потом оказалось что изображения не уменьшаются, увы.
П.с. по форуму полазил почитал но какой набор модов выбрать я даже и не знаю. Стоит на хосте phpBB v.3.0.4 без каких то наворотов, самый обычный.
Спасибо за потраченное время на мой вопрос!
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11234
Стаж: 14 лет 2 месяца
Откуда: fotovideoforum.ru
Благодарил (а): 1782 раза
Поблагодарили: 1340 раз
Контактная информация:

Re: Уменьшение фото + миниатюра + водный знак

Сообщение Пчелкин »

Модов для автоуменьшения размеров и веса картинок при внедрении вложениями не существует...Настройте правильно ограничения на вложенные картинки.
Вот тема..но вопрос остался открытым..
Уменьшение больших изображений
Seriniti писал(а):люди могли загружать фото любого размера
Хотите я вам подкину картинку размером 4650 нам 3680 весом в 118 мегабайт?
Что б ваш хостер сразу ваш форум застрелил...

Добавлено спустя 1 минуту 44 секунды:
Seriniti писал(а):imageresize
Все ресайзеры предназначены только для уменьшения картинок на страницах тем...
usrbinsh
phpBB 1.0.0
Сообщения: 4
Стаж: 15 лет 7 месяцев

Re: Уменьшение фото + миниатюра + водный знак

Сообщение usrbinsh »

Пчелкин писал(а):Хотите я вам подкину картинку размером 4650 нам 3680 весом в 118 мегабайт?
Что б ваш хостер сразу ваш форум застрелил...
Я поставлю в .htaccess
php_value upload_max_filesize 2M
или
php_value upload_max_filesize 4M
ну или сколько для хостера не проблема.
Пчелкин писал(а): Все ресайзеры предназначены только для уменьшения картинок на страницах тем...
Я у себя, так сделал:

Хак для уменьшения картинок вложений на стороне сервера
Источник: http://сеоша.рф

Хак позволяет уменьшить фотографии и другие картинки физически как по ширине и длине, так и по весу при загрузке вложений на сервер.
К примеру, уменьшим размер до 800:600 px, с качеством примерно 75%.

В файле includes/functions_upload.php
перед строкой:

Код: Выделить всё

function move_file($destination, $overwrite = false, $skip_image_check = false, $chmod = false)
вставляем с новой строки код:

Код: Выделить всё

/**
* Resize images with the true diemensions (800*600)
*/
function resize_images()
{
if ( $this->is_image() ) {
$limite_largeur = "800px";
$limite_hauteur = "600px";
$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,75);
elseif ( $this->extension == "png" ) imagepng($destination, $this->destination_file,75);
elseif ( $this->extension == "gif" ) imagegif($destination, $this->destination_file,75);
}
}
}
перед строкой:

Код: Выделить всё

phpbb_chmod($this->destination_file, $chmod);
вставляем в новую строку код:

Код: Выделить всё

if ( $this->is_image() ) 
{
$this->resize_images();
}
$limite_largeur = "800px"; - максимальная ширина изображения,
$limite_hauteur = "600px"; - максимальная высота изображения
Измените эти данные на свое усмотрение

$this->destination_file,75 - цифра показывает качество изображения. Чем она больше, тем ближе качество к оригиналу, но тяжелее картинка. Если цифру и запятую перед ней убрать вообще, качество картинки плохое, где-то процентов 50.

Чтобы увеличить объём памяти, выделяемый PHP, временно, только при загрузке файлов, сразу после:

Код: Выделить всё

if ( $this->is_image() ) {
добавляем:

Код: Выделить всё

@ini_set('memory_limit', '100M');
Ставим watermark на загружаемых вложениях.

В тот же файл includes/functions_upload.php

Перед строкой

Код: Выделить всё

if ( $this->extension == "jpg" || $this->extension == "jpeg" ) imagejpeg($destination, $this->destination_file, 75);
вставляем с новой строки:

Код: Выделить всё

$black = imagecolorallocate($destination,255,255,255);
$str = "my watermark";
imagestring($destination,5,40,30,$str, $black);


Поставил, работает. А вот вторую часть установку вотемарки не знаю как исправить, чтобы вместо текста картинка вставлялась, надеюсь на помощь.
Закрыто

Вернуться в «Запросы модов для phpBB 3.0.x»