 |
 |
Форум сетевых администраторов » Веб Форумы » VBulletin 3.x.x » Хаки от Netadmin или "Сделай сам" » Контроль размера картинок, вставленных тегом Img
| Автор |
| Тема |
 |
|
 |
|
|
|
Участник
|
| Контроль размера картинок, вставленных тегом Img |
[сооб. #70598]
12-09-2004 15:08 |
|
Участник
Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 13
Статус:  |
Вопрос вот в чем, где можно ограничить размеры картинок, вставленных по средствам тега IMG? Т.е. где дается ссылка на картинку. Возможно ли ограничить размеры? Или делать ресайз картинок? Или еще какие есть варианты, чтобы не растягивался скин по размеру картинки?
VB3.0.3
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
12-09-2004 15:08 |
|
|
Администратор
|
| Самое простое решение это запретить показ... |
[сооб. #70605]
12-09-2004 20:42 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
Самое простое решение это запретить показ картинок и вставлять ссылку на них, в противном случае требуеться трудоемкое программирование.
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
12-09-2004 20:42 |
|
|
Участник
|
| А может есть какие хаки для этого написанные?... |
[сооб. #70609]
13-09-2004 00:33 |
|
Участник
Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 13
Статус:  |
А может есть какие хаки для этого написанные? Или можно какие-либо настройки самого скина изменить, чтобы он не менял свой размер, даже если картинка больше его ширины?
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
13-09-2004 00:33 |
|
|
Администратор
|
| Ну можно конечно прописать явно размеры картинки... |
[сооб. #70617]
13-09-2004 10:02 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
Ну можно конечно прописать явно размеры картинки но ведь просто так нельзя узнать исходный размер картинки, поэтому не удасться сохранить пропорции.
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
13-09-2004 10:02 |
|
|
MuZzClub.ru
|
Dr. Shost да такие хаки имеются:
http://www.vbulletin.org/forum/showthread.php?t=63458
http://www.vbulletin.org/forum/showthread.php?t=68429
http://www.vbulletin.org/forum/showthread.php?t=67743... |
[сооб. #70618]
13-09-2004 10:12 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
Dr. Shost да такие хаки имеются:
http://www.vbulletin.org/forum/showthread.php?t=63458
http://www.vbulletin.org/forum/showthread.php?t=68429
http://www.vbulletin.org/forum/showthread.php?t=67743
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
13-09-2004 10:12 |
|
|
Участник
|
| А нельзя только по ширине прописать, а что... |
[сооб. #70619]
13-09-2004 10:14 |
|
Участник
Зарегистрирован: Mar 2004
Место проживания:
Публикаций: 13
Статус:  |
А нельзя только по ширине прописать, а что не влезает, то пусть обрезается что ли..? Главное, чтобы скин не растягивался...
MCTarakan
Спасибо за ссылки, попробую разобраться, что там к чему... Только мне, как не имеющиму статуса зарегенново не показываются все коды на их форуме... А не можешь поделиться этим хаком?
Сообщение было отредактировано Dr. Shost 13-09-2004 в 10:19
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
13-09-2004 10:14 |
|
|
Администратор
|
| Чето поспешил я, экспромтом функцию немного... |
[сооб. #70621]
13-09-2004 10:57 |
|
Администратор


Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус:  |
Чето поспешил я, экспромтом функцию немного переделал.
Вобщем нужно в includes/functions_bbcodeparse.php найти функцию function handle_bbcode_img_match и заменить ее на:
PHP:
function handle_bbcode_img_match($link)
{
$link = strip_smilies(str_replace('\"', '"', $link));
// remove double spaces -- fixes issues with wordwrap
$link = str_replace(' ', '', $link);
$max_width = 250; // указываем максимально допустимую ширину
$max_height = 150; // указываем максимально допустимую высоту
$image_data = getimagesize($link);
$width = $image_data['0'];
$height = $image_data['1'];
$x_ratio = $max_width/$width;
$y_ratio = $max_height/$height;
if ($width > $max_width OR $height > $max_height)
{
if (($width*$y_ratio) < $max_width)
{
$width = ceil($y_ratio*$width);
$height = $max_height;
}
else
{
$height = ceil($x_ratio*$height);
$width = $max_width;
}
}
$image_size = " width=\"$width\" height=\"$height\"";
return '<img src="' . $link . '" border="0"' . $image_size .' alt="" />';
}
__________________
Всегда есть решение.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
13-09-2004 10:57 |
|
|
Участник
|
polo
БОЛЬШОЕ СПАСИБО! Очень помог. |
[сооб. #70636]
13-09-2004 19:02 |
|
|
Участник+
|
Да, действительно, спасибо POLO! нужная доработка...... |
[сооб. #70886]
20-09-2004 20:37 |
|
|
Участник
|
| все классно работает, до тех пор, пока кто... |
[сооб. #71740]
23-10-2004 06:20 |
|
Участник
Зарегистрирован: May 2004
Место проживания:
Публикаций: 22
Статус:  |
все классно работает, до тех пор, пока кто то из узеров не пихнет ссылку на несуществующую картинку (в тегах [img]естессно)
или с другим расширением, чем на самом деле (gif вместо jpg, например. хз, как так можно, но было один раз...)
или вообще без расширения...
тогда форум выкидывает ошибку:
Warning: getimagesize(http://ссылка/на/картинку/без расширения): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/htdocs/web/html/forum/includes/functions_bbcodeparse.php on line 1039
Warning: Division by zero in /home/htdocs/web/html/forum/includes/functions_bbcodeparse.php on line 1042
Warning: Division by zero in /home/htdocs/web/html/forum/includes/functions_bbcodeparse.php on line 1043
и указывает на линии хака в файле
страница не загружается полностью, сначала эта ошибка, потом лого, и все... "сообщение форума, бла, бла, бла..."
приходится лезть на фтп, убирать хак, что бы страница загрузилась и потом удалять/редактировать сообщение...
как это можно пофиксить?
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
23-10-2004 06:20 |
|
|
Модератор
|
| Считаю, что IMG код нужно отключать сразу во... |
[сооб. #71749]
23-10-2004 15:51 |
|
Модератор


Зарегистрирован: Oct 2001
Место проживания: Альметьевск, Татарстан
Публикаций: 480
Статус:  |
Считаю, что IMG код нужно отключать сразу во всех форумах. Исключение могут составлять подписи, да и то, под вопросом. Если возникла неодходимость в fullscreen картинки в сообщениях, то можно использовать стандартную возможность ограничения размера картирки аттача. IMG это зло, IMG нарушает целостность проекта, заставляет его зависить от других серверов.
Сообщение было отредактировано Bochkarev_D.S. 23-10-2004 в 16:00
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
23-10-2004 15:51 |
|
|
k0t
|
Bochkarev_D.S.
я тоже так считаю, но узерам это... |
[сооб. #71771]
24-10-2004 18:16 |
|
k0t


Зарегистрирован: Oct 2004
Место проживания:
Публикаций: 148
Статус:  |
Bochkarev_D.S.
я тоже так считаю, но узерам это сложно объяснить...
да и не об этом сейчас речь идет, был задан вопрос, как изменить размер картинки в постах, polo предложил свое решение, ок...
но появились баги, можно попытаться общими усилиями их побороть, а запретить или разрешить никогда не поздно...
--------------
AFGAN
спасибо, что перенес пост сюда...
kerk добавил 24-10-2004 в 18:58:25:
мысль тут одна появилась...
я не очень то разбираюсь в php, поэтому постарайтесь понять меня правильно...
как видно из сообщения, фукция ......getimagesize возвращает нам .....HTTP request failed! HTTP/1.1 404 Not Found in......
т.е. не найдена 404 что бы нам ее показать, если картинки не существует..., а если где то там прописать так, что бы при обращении и ненахождении картинки, возвращало бы 404.
то есть если картинка есть, но большая=> изменяет размер на указанный в коде и показывает картинку, если нету или ссылка введена неправильно=> отображало бы 404 объект не найден и белый квадрат с крестиком
===============================
все как то путанно, но надеюсь, что знающие php, поймут, что я хотел сказать...
Сообщение было отредактировано kerk 24-10-2004 в 18:18
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
24-10-2004 18:16 |
|
|
Участник+
|
не проверял..
навскидку вариант Поло с проверкой... |
[сооб. #71947]
29-10-2004 15:49 |
|
Участник+


Зарегистрирован: Jul 2003
Место проживания:
Публикаций: 125
Статус:  |
не проверял..
навскидку вариант Поло с проверкой на отсутствие картинки
PHP:
function handle_bbcode_img_match($link )
{
$link = strip_smilies(str_replace('\"', '"', $link));
// remove double spaces -- fixes issues with wordwrap
$link = str_replace(' ', '', $link);
$max_width = 250; // указываем максимально допустимую ширину
$max_height = 150; // указываем максимально допустимую высоту
if (fopen($link,"r")===0)
// пробуем открыть на чтение
// если открылся то работаем с картинкой
{
$image_data = getimagesize($link);
$width = $image_data['0'];
$height = $image_data['1'];
$x_ratio = $max_width/$width;
$y_ratio = $max_height/$height;
if ($width > $max_width OR $height > $max_height)
{
if (($width*$y_ratio) < $max_width)
{
$width = ceil($y_ratio*$width);
$height = $max_height;
}
else
{
$height = ceil($x_ratio*$height);
$width = $max_width;
}
}
$image_size = " width=\"$width\" height=\"$height\"";
return '<img src="' . $link . '" border="0"' . $image_size .' alt="" />';
}
else
// нету файла
// выводим "а файла то нету"
{
return '<b>Где ка-а-артинка-а-а? Не-е-ет картинки! :( </b>';
}
}
__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru
Сообщение было отредактировано fStrange 29-10-2004 в 17:19
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
29-10-2004 15:49 |
|
|
k0t
|
fStrange
спасибо
проверю, как поставлю форум... |
[сооб. #71948]
29-10-2004 16:27 |
|
|
|
Формат времени GMT. Текущее время 10:40.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 0.86998010 seconds (99.35% PHP - 0.65% MySQL) with 27 queries.
|
 |