vasiliyb Опубликовано 30 Января 2004 Жалоба Поделиться Опубликовано 30 Января 2004 Где хранятся данные переменных $width $height для функции: function Show_attachments_img_thumb($file_name, $width, $height, $aid) если в MySQL, то где (в какой таблице)? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 30 Января 2004 Жалоба Поделиться Опубликовано 30 Января 2004 $im = $std->scale_image( array( 'max_width' => $ibforums->vars['siu_width'], 'max_height' => $ibforums->vars['siu_height'], 'cur_width' => $img_size[0], 'cur_height' => $img_size[1] ) ); $row['attachment'] = $this->html->Show_attachments_img_thumb( $row['attach_id'], $im['img_width'], $im['img_height'], $row['pid'] );Отсюда видно, что они либо берутся из настроек форума (размер Thumb'a, который задаётся в System Settings -> Topics, Posts & Polls в админке), либо из размеров самого изображения (которые определяются функцией GetImageSize). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 30 Января 2004 Автор Жалоба Поделиться Опубликовано 30 Января 2004 Да, я экспериментальным путем нашел, хранятся они в global_conf.php , а я базу лопатилВот кусок, который мне интересен, дело в том, что я хочу, чтобы thumbnail для загружаемых картинок делался пропорциональным, в данном случае жестко выставлено 300x201 $INFO['siu_height'] = '201'; $INFO['siu_thumb'] = '1'; $INFO['siu_width'] = '300'; Если делаешь $INFO['siu_height'] = '50%'; $INFO['siu_thumb'] = '1'; $INFO['siu_width'] = '50%'; почему-то в итоговом html пропадает символ %, вот как это выглядит:<img src='http://www.xxx.com/members/forum/uploads/post-5-1075310729.jpg' width='50%' height='50' class='attach' alt='Attached Image' /> Как побороть? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 30 Января 2004 Жалоба Поделиться Опубликовано 30 Января 2004 Хех... Не должно оно так себя вести. Помучай функцию function scale_image($arg) в functions.php. Если не получится, напиши тут - будем мочить систему "в сортире" © В.В. Путин Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 2 Февраля 2004 Автор Жалоба Поделиться Опубликовано 2 Февраля 2004 function scale_image($arg) { // max_width, max_height, cur_width, cur_height $ret = array( 'img_width' => $arg['cur_width'], 'img_height' => $arg['cur_height'] ); if ( $arg['cur_width'] > $arg['max_width'] ) { $ret['img_width'] = $arg['max_width']; $ret['img_height'] = ceil( ( $arg['cur_height'] * ( ( $arg['max_width'] * 100 ) / $arg['cur_width'] ) ) / 100 ); $arg['cur_height'] = $ret['img_height']; $arg['cur_width'] = $ret['img_width']; } if ( $arg['cur_height'] > $arg['max_height'] ) { $ret['img_height'] = $arg['max_height']; $ret['img_width'] = ceil( ( $arg['cur_width'] * ( ( $arg['max_height'] * 100 ) / $arg['cur_height'] ) ) / 100 ); } return $ret; } В общих чертах понятно, что здесь делается, но куда она может "девать" символ процента, причем только в случае с height так и не смог понятьМожет кто помочь? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 2 Февраля 2004 Автор Жалоба Поделиться Опубликовано 2 Февраля 2004 Есть ощущение, что это из-за округления: $ret['img_height'] = ceil( ( $arg['cur_height'] * ( ( $arg['max_width'] * 100 ) / $arg['cur_width'] ) ) / 100 );но не могу понять, по идее, ведь и width округляется... $ret['img_width'] = ceil( ( $arg['cur_width'] * ( ( $arg['max_height'] * 100 ) / $arg['cur_height'] ) ) / 100 ); Что присоветуете? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 2 Февраля 2004 Жалоба Поделиться Опубликовано 2 Февраля 2004 но не могу понять, по идее, ведь и width округляется...Вроде как одна координата округляется, а другая остаётся неизменной... У тебя какие размеры рисунка самого? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 2 Февраля 2004 Автор Жалоба Поделиться Опубликовано 2 Февраля 2004 Размеры самого рисунка - 640х426Размеры thumbnail выставленные в адм.панели - 300х200Размеры, рассчитываемые function scale_image($arg) для этого же рисунка299х201 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 3 Февраля 2004 Автор Жалоба Поделиться Опубликовано 3 Февраля 2004 ]Хех... Не должно оно так себя вести. Помучай функцию function scale_image($arg) в functions.php. Если не получится, напиши тут - будем мочить систему "в сортире" © В.В. Путин theIggs , ну никак не получается заставить работать... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 3 Февраля 2004 Жалоба Поделиться Опубликовано 3 Февраля 2004 Спокойствие, только спокойствие! Пошёл разбираться. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 4 Февраля 2004 Автор Жалоба Поделиться Опубликовано 4 Февраля 2004 theIggs Без продвижений? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 6 Февраля 2004 Жалоба Поделиться Опубликовано 6 Февраля 2004 Опытным путём было установлено, что растягивание прикреплённых изображений происходит в следующем случае: в Topics.php есть такой код - $img_size = array(); $img_size = @GetImageSize( $ibforums->vars['upload_url']."/".$row['attach_id'] ); if ( $img_size[0] < 1 ) { $img_size = array(); $img_size[0] = $ibforums->vars['siu_width'] + 1; $img_size[1] = $ibforums->vars['siu_height']+ 1; }Таким образом, растягивание изображения на весь прямоугольник производится только тогда, когда функция GetImageSize() не возвращает никакого результата (т.е. истинных размеров рисунка). Библиотека GD для работы функции GetImageSize() не требуется.Есть у кого-нибудь идеи, почему функция может не работать?.. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 9 Февраля 2004 Автор Жалоба Поделиться Опубликовано 9 Февраля 2004 Так и не получается решить... PHP VERSION: 4.3.4 Путь к папке upload вроде правильно прописан, да и если бы с ним были проблемы по идее картинки бы и не закачивались... Как быть-то?Может кто обладает зарегистрированной версией и может отправить вопрос в Службу поддержки? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 16 Февраля 2004 Автор Жалоба Поделиться Опубликовано 16 Февраля 2004 прописал простейший тест функции getimagesize в каталог форума:<html><head><title>Image</title></head><body leftmargin="0" topmargin="0"><?phplist($width, $height, $type, $attr) = getimagesize("./IMG_0270.jpg");echo "<img src=\"./IMG_0270.jpg\" $attr alt=\"getimagesize() example\" />";?> </body></html> No problem, все высчитывает правильно....В чем же может быть дело? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 16 Февраля 2004 Жалоба Поделиться Опубликовано 16 Февраля 2004 Хм... Сложно сказать, долго подробно описывать...Что бы сделал лично я:1. Проверил этот тестовый скриптик на файлах из папки uploads.2. Отредактировал бы код Topics.php в том месте, где делается GetImageSize - добавил многочисленные echo - вывод имени файла (точно в том же виде, как оно передаётся в функцию), вывод определённых функцией размеров и т.д.3. Отредактировал бы код Topics.php на предмет изменения метода. В смысле, сейчас там делается что-то вроде $img_size = getimagesize(...); а можно попробовать сделать типа list($img_size[0], $img_size[1], $type, $attr) = getimagesize(...) - короче, как в приведённом примере.В общем, запастить бэкапом и экспериментировать, экспериментировать, экспериментировать... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Sotsirh Опубликовано 22 Февраля 2004 Жалоба Поделиться Опубликовано 22 Февраля 2004 А где находятся (то есть где их можно изменить) параметры, отвечающие за размеры окна при комманде “фото” и поп-ап с фотографией мембера? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 24 Февраля 2004 Автор Жалоба Поделиться Опубликовано 24 Февраля 2004 Хм... Сложно сказать, долго подробно описывать...Что бы сделал лично я:1. Проверил этот тестовый скриптик на файлах из папки uploads.Это попробовал, все работает, размер определяется... Сейчас буду экспериментировать дальше.МОжет кто еще какими более конкретными версиями поможет? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 24 Февраля 2004 Автор Жалоба Поделиться Опубликовано 24 Февраля 2004 2. Отредактировал бы код Topics.php в том месте, где делается GetImageSize - добавил многочисленные echo - вывод имени файла (точно в том же виде, как оно передаётся в функцию), вывод определённых функцией размеров и т.д.3. Отредактировал бы код Topics.php на предмет изменения метода. В смысле, сейчас там делается что-то вроде $img_size = getimagesize(...); а можно попробовать сделать типа list($img_size[0], $img_size[1], $type, $attr) = getimagesize(...) - короче, как в приведённом примере.Внес следующие контрольные изменения: //----------------------------------------------------// Tom Thumb!//---------------------------------------------------- $img_size = array(); $img_size = @GetImageSize( $ibforums->vars['upload_url']."/".$row['attach_id'] ); list($width, $height, $type, $attr) = @GetImageSize( $ibforums->vars['upload_url']."/".$row['attach_id'] );echo "url:".$ibforums->vars['upload_url']."/".$row['attach_id'];----------------------------------------РЕЗУЛЬТАТ - ЗДЕСЬ ВСЕ ВЫВОДИТСЯ ПРАВИЛЬНО echo "img_size1: ".$img_size[1];----------------------------------------РЕЗУЛЬТАТ - пусто, т.е. img_size1: и все... может быть в этом и проблема?----------------------------------------или я не правильно пытаюсь вывести содержимое? if ( $img_size[0] < 1 ){ $img_size = array(); $img_size[0] = $ibforums->vars['siu_width'] + 1; $img_size[1] = $ibforums->vars['siu_height']+ 1;} //---------------------------------------------------- Гуру, помогите! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 24 Февраля 2004 Автор Жалоба Поделиться Опубликовано 24 Февраля 2004 Все решил.Удаляйте тему Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Bertus Опубликовано 24 Февраля 2004 Жалоба Поделиться Опубликовано 24 Февраля 2004 Скажи хотя бы как решил Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 vasiliyb Опубликовано 25 Февраля 2004 Автор Жалоба Поделиться Опубликовано 25 Февраля 2004 в Topics.phpизменил $img_size = @GetImageSize( $ibforums->vars['upload_url']."/".$row['attach_id'] ); на $img_size = GetImageSize( $ibforums->vars['upload_url']."/".$row['attach_id'] ); и увидел сообщение Access denied т.е. вся проблема была в том, что форум в закрытой с помощью .htacess папке (форум для своих) , а $ibforums->vars['upload_url']."/".$row['attach_id'] дает абсолютный путь (http://.....)прописал напрямую относительный путь к папке Uploads и все заработало... Странно, что только в 1 месте сказалось, по логике картинки вызываются таким же макаром, а все работало кроме ресайза пропорционального... Всем искреннее спасибо, особливо TheIggs'у, без его поддержки я забросил бы наверно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
vasiliyb
Где хранятся данные переменных $width $height для функции:
function Show_attachments_img_thumb($file_name, $width, $height, $aid)
если в MySQL, то где (в какой таблице)?
Ссылка на комментарий
Поделиться на других сайтах
20 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.