 |
 |
Форум сетевых администраторов » Веб Форумы » VBulletin 2.x.x » Вопрос по аттачам
| Автор |
| Тема |
 |
|
 |
|
|
|
Участник+


Зарегистрирован: Jul 2002
Место проживания: Россия, Томск
Публикаций: 282
Статус:  |
В файле functions.php есть пара строчек, где прописывается, что показать в постбите - ссылку на аттач или картинку:
PHP:
if (($viewattachedimages) and ($bbuserinfo[userid]==0 or $bbuserinfo[showimages]))
{
eval("\$post[attachment] = \"".gettemplate("postbit_attachmentimage")."\";");
} else {
eval("\$post[attachment] = \"".gettemplate("postbit_attachment")."\";");
}
} else {
$post[attachment]="";
}
Я хочу сделать так, чтобы при размере картинки в ширину более 500 пикселей на неё ставила ссылка, а если меньше - сама картинка.
Вроде всё легко. И есть функция getimagesize , с помощью которой и можно вытащить размер, но вот какая переменная отвечает за файл аттача? Я перепробовал кучу вариантов, но ни один не работает...
Может кто знает?
Заранее спасибо.
Сообщение было отредактировано e1 09-03-2003 в 18:22
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-03-2003 18:19 |
|
|
Участник+
|
| я точно не знаю как работает буллетин с аттачами... |
[сооб. #37131]
09-03-2003 18:28 |
|
Участник+

Зарегистрирован: Mar 2003
Место проживания: Россия , Пятигорск
Публикаций: 246
Статус:  |
я точно не знаю как работает буллетин с аттачами , но по моему там нигде не прописывается размер картинки!
я думаю что это будет не легко!прийдется создавать новые колоны в таблице!!!
Я могу тебе предложить легкий способ сделать:
чтоб если картинка больше 500 кб то давалась на неё ссылка , а если меньше то чтоб она показывалась!
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-03-2003 18:28 |
|
|
Участник+
|
| AFAIK атач лежит в таблице в blob поле, так что,... |
[сооб. #37133]
09-03-2003 18:31 |
|
Участник+


Зарегистрирован: May 2002
Место проживания: Владимирская обл.|Москва
Публикаций: 165
Статус:  |
AFAIK атач лежит в таблице в blob поле, так что, если ты хочешь его получить, посмотри ф-ии в файлк attachment.php, т.е. я имею в виду, что вызвав с параметрами этот самый скрипт ты получишь картнку, от которой можно взять уже размеры
Сообщение было отредактировано Rumata 09-03-2003 в 18:43
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-03-2003 18:31 |
|
|
Участник+
|
| e1 , getimagesize - это по моему токо для динамических... |
[сооб. #37135]
09-03-2003 18:35 |
|
Участник+

Зарегистрирован: Mar 2003
Место проживания: Россия , Пятигорск
Публикаций: 246
Статус:  |
e1 , getimagesize - это по моему токо для динамических изображений!на яве как то можно проверить размер картинки , но жаль что непомню как!
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-03-2003 18:35 |
|
|
Участник+
|
Jaxick
[quote]
The getimagesize() function will determine the size... |
[сооб. #37149]
09-03-2003 18:54 |
|
Участник+


Зарегистрирован: Jul 2002
Место проживания: Россия, Томск
Публикаций: 282
Статус:  |
Jaxick
quote:
The getimagesize() function will determine the size of any GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP or IFF image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML IMG tag.
мне нужно просто вытащить ширину из аттача и всё 
Rumata
пока не нашел нужного...
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-03-2003 18:54 |
|
|
Участник+
|
Rumata
пока не нашел нужного... [/B][/QUOTE]
http://netadmin.ws/forum/attachment.php?s=&postid=37053... |
[сооб. #37154]
09-03-2003 19:49 |
|
Участник+


Зарегистрирован: May 2002
Место проживания: Владимирская обл.|Москва
Публикаций: 165
Статус:  |
Rumata
пока не нашел нужного... [/B][/QUOTE]
http://netadmin.ws/forum/attachment.php?s=&postid=37053 ,т.е. attachment.php?s=&postid=37053 есть ни что иное, как zip файл, если бы там лежала картинка, то это была бы картинка.
Твои действия:
по имени файла (точнее его расширению) проверяешь, что это картинка, потом делаешь getimagesize("attachment.php?s=&postid=$id").
Но это способ ресурсоемкий => плохой, лучше добавь колонку (и) в таблицу, а еще лучше флаг, но тогда ты не сможешь потом поменять интереное тебе разрешение, так что остается колонка.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-03-2003 19:49 |
|
|
Участник+
|
Rumata
quote: attachment.php?s=&postid=37053
пока не... |
[сооб. #37156]
09-03-2003 19:54 |
|
Участник+


Зарегистрирован: Jul 2002
Место проживания: Россия, Томск
Публикаций: 282
Статус:  |
Rumata
quote: attachment.php?s=&postid=37053
пока не доковырялся до этого...
способ довольно простой, т.к. вБ сам определяет картинка, это или нет, а тебе нужно только в пикселях проверить 
e1 добавил 09-03-2003 в 20:04:40:
Хм... странно... сделал так:
$imginfo=@getimagesize("http://localhost/vb/attachment.php?s=&postid=$post[postid]");
работает, а вот так:
$imginfo=@getimagesize("attachment.php?s=&postid=$post[postid]");
это плохо...
e1 добавил 09-03-2003 в 20:34:35:
В общем, кому интересно. Мини-хак.
Чего делает? [i]Если в аттаче картинка больше n-ного кол-ва пикселей, то на неё ставится ссылка, чтобы не раздвигать таблицу, если меньше, то картинка показывается[i]
Как делать?
В файле functions.php ищем:
PHP:
if ($post[attachmentextension]=="gif" or $post[attachmentextension]=="jpg" or $post[attachmentextension]=="jpeg" or $post[attachmentextension]=="jpe" or $post[attachmentextension]=="png") {
if (($viewattachedimages) and ($bbuserinfo[userid]==0 or $bbuserinfo[showimages])) {
eval("\$post[attachment] = \"".gettemplate("postbit_attachmentimage")."\";");
} else {
eval("\$post[attachment] = \"".gettemplate("postbit_attachment")."\";");
}
} else {
eval("\$post[attachment] = \"".gettemplate("postbit_attachment")."\";");
}
} else {
$post[attachment]="";
}
и заменяем всё это дело на:
PHP:
if ($post[attachmentextension]=="gif" or $post[attachmentextension]=="jpg" or $post[attachmentextension]=="jpeg" or $post[attachmentextension]=="jpe" or $post[attachmentextension]=="png") {
$bburl="http://localhost/rl"; //замените на УÐ_Л до своего форума! без последнего '/'
$imginfo=@getimagesize("$bburl/attachment.php?postid=$post[postid]");
if (($viewattachedimages) and ($bbuserinfo[userid]==0 or $bbuserinfo[showimages]) and ($imginfo[0]<520)) // 520 - число пикселей в ширину. можно своё поставить
{
eval("\$post[attachment] = \"".gettemplate("postbit_attachmentimage")."\";");
} else {
eval("\$post[attachment] = \"".gettemplate("postbit_attachment")."\";");
}
} else {
eval("\$post[attachment] = \"".gettemplate("postbit_attachment")."\";");
}
} else {
$post[attachment]="";
}
ну, вроде и всё
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
09-03-2003 19:54 |
|
|
MuZzClub.ru
|
так, вопросы:
1. зачем вставлять урл к форуму?
2.... |
[сооб. #37196]
10-03-2003 00:06 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
так, вопросы:
1. зачем вставлять урл к форуму?
2. можно ли это дело прописать чтобы редактировалось через админку???
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
10-03-2003 00:06 |
|
|
Участник+
|
| MCTarakan, при желании можно прописать все... |
[сооб. #37204]
10-03-2003 00:51 |
|
|
MuZzClub.ru
|
Rumata
[quote]при желании можно прописать все... |
[сооб. #37210]
10-03-2003 02:31 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
Rumata
quote: при желании можно прописать все что угодно.
тада как?
quote: Урл к форуму afaik лежит в $bburl
не понял???
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
10-03-2003 02:31 |
|
|
Участник+
|
MCTarakan
1) чтобы эта хрень поняла откеда... |
[сооб. #37218]
10-03-2003 05:17 |
|
Участник+


Зарегистрирован: Jul 2002
Место проживания: Россия, Томск
Публикаций: 282
Статус:  |
MCTarakan
1) чтобы эта хрень поняла откеда аттач тащить просто вчера больше ничего в голову не пришло, откуда его взять.
2) можно, но нах тебе это надо? морочиться с админкой больше, чем просто УÐ_Л вписать 
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
10-03-2003 05:17 |
|
|
MuZzClub.ru
|
| e1 так, с урлом разабрался... сорри за глупый... |
[сооб. #37286]
10-03-2003 21:35 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
e1 так, с урлом разабрался... сорри за глупый вопрос...
А в админку надо, чтобы можно было там прописывать размеры картинки, а не лезть каждый раз в файл (вдруг дизигн менять буду )
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
10-03-2003 21:35 |
|
|
MuZzClub.ru
|
эээ... подымаю тему! Что интересно, а можно... |
[сооб. #43937]
15-05-2003 04:50 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
эээ... подымаю тему! Что интересно, а можно например сделать так:
1. если картинка размерами МЕНЬШЕ установленных - она показывается в своих размерах
2. если картинка размерами БОЛЬШЕ установеленных - ей придаются именно установленные размеры! 
MCTarakan добавил 15-05-2003 в 04:55:14:
таааак... сам допетрил! 
Короче надо создать новый темплейт например postbit_attachmentimagesmall такого содержания:
PHP:
<!--<p>--><smallfont>$post[username] прикрепил это изображение:<br>
<a href="attachment.php?s=$session[sessionhash]&postid=$post[postid]" target="_blank"><img src="attachment.php?s=$session[sessionhash]&postid=$post[postid]" border="0" alt="" vspace="8" hspace="4" width="XXX"></a>
</smallfont><!--</p>--> // ну тут ясно что надо делать... можете ссылку убрать, я ее сделал, чтобы показывать картинку в полный размер! <img src="images/smilies/wink.gif" border="0" alt="">
Ну и замерить PHP:
{
eval("\$post[attachment] = \"".gettemplate("postbit_attachmentimage")."\";");
} else {
eval("\$post[attachment] = \"".gettemplate("postbit_attachment")."\";");
на
PHP:
{
eval("\$post[attachment] = \"".gettemplate("postbit_attachmentimage")."\";");
} else {
eval("\$post[attachment] = \"".gettemplate("postbit_attachmentimagesmall")."\";");
Вроде так?
__________________
yMC.ru - хомяк музыканта
Сообщение было отредактировано MCTarakan 15-05-2003 в 04:57
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
15-05-2003 04:50 |
|
|
Участник+
|
как-то странно хак работает))
форум теперь... |
[сооб. #44192]
17-05-2003 13:55 |
|
Участник+


Зарегистрирован: Feb 2002
Место проживания: Россия, СПб
Публикаций: 106
Статус:  |
как-то странно хак работает))
форум теперь вообще треды с картинками не показывает (долго думает и решает что пришел таймаут)
может проще phpшный resize использовать?
Да и вот еще одно замечание - предложенным способом только ширина меняется, а картинка чаще всего если она большая по ширине то и по высоте тоже большая отсюда получаем сжатую по ширине но не по длине картинку, тут тогда надо уже через пропорции ресайзить как -то
__________________
Hack the forum!
Сообщение было отредактировано Stim 17-05-2003 в 14:13
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
17-05-2003 13:55 |
|
|
MuZzClub.ru
|
| Stim ээээ... ты это мой вариан попробывал?... |
[сооб. #44244]
18-05-2003 02:30 |
|
MuZzClub.ru


Зарегистрирован: Jul 2002
Место проживания: Ireland
Публикаций: 2710
Статус:  |
Stim ээээ... ты это мой вариан попробывал? А вариант e1-го работает намано или также?
Я конечно не изголялся сильно... в идеале конечно ресайз прикрутить, но я не спец! 
__________________
yMC.ru - хомяк музыканта
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|
18-05-2003 02:30 |
|
|
|
Формат времени GMT. Текущее время 08:10.
|
Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения. |
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
|
|
|
|
| |
Page generated in 0.99745488 seconds (99.24% PHP - 0.76% MySQL) with 26 queries.
|
 |