Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Миниатюры картинок с помощью пхп

Ответить
Настройки темы
[решено] Миниатюры картинок с помощью пхп

Аватара для Hitsi

Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Отправить PM | Цитировать


Пользователь загружает на сайт картинки, которые в последующем выводятся на экран.
Картинки выводятся не в полный свой размер (чтобы уместолось несколько штук на странице). Как можно их переделать и вывести не делая при загрузке отдельной папочки с миниатюрами и не через жесткое указание высоты-ширины в теге img?
Есть варинат с временными фаилами.... но чтот их слишком много получается %)

Отправлено: 13:27, 14-09-2007

 

Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Hitsi, посмотрите этот класс и метод ouput()

Отправлено: 17:49, 14-09-2007 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Hitsi

Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

-------
Не стоит думать что все так плохо, все еще хуже... хуже до такой степени, что прышать хочется... хорошо что не с крыши.


Отправлено: 20:02, 15-09-2007 | #3


Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


на том же сайте имеется пример вывода картинки:

HTML код: Выделить весь код
include('SimpleImage.php'); $image = new SimpleImage(); $image->load($_FILES['uploaded_image']['tmp_name']); $image->resizeToWidth(150); $image->output();

Цитата Hitsi:
Сайт использует смарти »
Поправьте немного исходный код вывода картинки.

Отправлено: 21:25, 15-09-2007 | #4


Аватара для Hitsi

Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Отправить PM | Цитировать


обшибся........

-------
Не стоит думать что все так плохо, все еще хуже... хуже до такой степени, что прышать хочется... хорошо что не с крыши.


Отправлено: 16:11, 16-09-2007 | #5


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Топик можно пометить решенным?

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 19:07, 19-09-2007 | #6


Аватара для Hitsi

Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нет.. вопрос остался открытым..... решен частично... спасибо за класс %)

Мне интересно как я должен изменить код чтобы передать "картинку" в шаблон. При
PHP код: Выделить весь код

$image->output() 


он моментально выводит эту картинку прямо во время выполнения кода.. т.е. картинка загружается даже еще до заголовков в самом начале страницы (даже не картинка а иероглифы).
Картинок много, сейчас в шаблон передается многомерный массив. Грубо говоря одному ряду массива соответсвует одна картинка.. там описан путь к ней, id автора, новые размеры.... А уже в шаблоне эта картинка выводится с жестко указанными размерами в теге img, которые просчитывались функцией (чтобы картинка не превышала определенных размеров, но при этом имела тоже самое соотношение высоты и ширины).
Т.е. я по сути имею туже самую картинку с темже "обьемом", только маленькую, что в общем-то неправильно и сильно загружает страницу.... Вот я и задал вопрос можно ли не используя дополнительной папки с миниатюрами (потомучто картинка выводится в нескольких местах с разными "максимально разрешенными" размерами... и отдельных миниатюр будет тоже много на каждую картинку) и без использования временных фаилов сделать то что хочется %)

-------
Не стоит думать что все так плохо, все еще хуже... хуже до такой степени, что прышать хочется... хорошо что не с крыши.


Отправлено: 19:08, 21-09-2007 | #7


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Почему нет? Создайте скрипт-генератор тумб (миниатюр) который принимал бы в качеcтве параметра (ов) через GET габариты для тумбы и имя оригинала (источника для тумбы). В шаблоне вызывайте этот скрипт как банальный тег:
Код: Выделить весь код
<img src="/thumb.php?width={$someWidth}&height={$someHeight}&image={$someImage}" width="{$someWidth}" height="{$someHeight}" alt="{$someAlt}">
Если таких тегов надо много, то передавайте в представление массив таких значений и генирируйте теги циклом.
Сам скрипт-генератор будет выглядеть примерно как указал XCodeR в первом своем посте. Если будут опять чудеса в виде
Цитата Hitsi:
даже не картинка а иероглифы »
, то поглядите правильные ли заголовки отправляет класс при попытке output в броузер. Должны быть признаки картинки. Подробнее здесь при поиске по ключевому слову header.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 03:33, 22-09-2007 | #8


Пользователь


Сообщения: 67
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


можно использовать библиотеку gd (она не установлена по умолчанию)
например, где нужны мелкие картинки писать
HTML код: Выделить весь код
<img src="thumb.php?src=image.gif">

уменьшитель картинки
PHP код: Выделить весь код

# thumb.php обработчик для gif, jpeg, png

$filename 'path/to/images/dir/'.$src# дописываем путь к каталогу с картинками
if ($size getimagesize($filename)) {
    switch (
$size[2]) { # создаем загруженную картинку для обработки
        
case IMAGETYPE_GIF:
            
$img_src imagecreatefromgif($filename);
            break;
        case 
IMAGETYPE_JPEG:
            
$img_src imagecreatefromjpeg($filename);
            break;
        case 
IMAGETYPE_PNG:
            
$img_src imagecreatefrompng($filename);
            break;
    }
    
$width_limit 100# лимит ширины
    
$height_limit 100# лимит высоты
    
$k max($size[0] / $width_limit$size[1] / $height_limit); # коэффициент уменьшения картинки
    
if ($k 1) { # если надо, уменьшаем
        
$width ceil($size[0] / $k);
        
$height ceil($size[1] / $k);
        
$img_dst imagecreatetruecolor($width$height); # создаем маленькую картинку
        
imageinterlace($img_dst1); # это для ускорения загрузки - подробней - читай мануал
        
imagecopyresampled($img_dst$img_src0000$width$height$size[0], $size[1]);
    } else { 
# если нет - берем что есть
        
$img_dst $img_src;
    }
    switch (
$size[2]) {
        case 
IMAGETYPE_GIF:
# вывод
            
header('Content-type: image/gif');
            
imagegif($img_dst);
# или сохранение
#            imagegif($img_dst, 'path/to/save/'.$src);
# остальные по аналогии
            
break;
        case 
IMAGETYPE_PNG:
            
header('Content-type: image/png');
            
imagepng($img_dst);
            break;
        case 
IMAGETYPE_JPEG:
            
header('Content-type: image/jpeg');
            
imagejpeg($img_dst);
            break;
    }
    
imagedestroy($img_dst); # подчищаем за собой
    
imagedestroy($img_src);



Отправлено: 21:44, 29-09-2007 | #9


Аватара для Hitsi

Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Отправить PM | Цитировать


В предложеном классе ГД и используется....
тему можно закрывать, всем спасибо %)

Проблема была в моем незнании о работе скриптов под тегом img %)

-------
Не стоит думать что все так плохо, все еще хуже... хуже до такой степени, что прышать хочется... хорошо что не с крыши.


Последний раз редактировалось Hitsi, 09-10-2007 в 02:12.


Отправлено: 01:06, 09-10-2007 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Миниатюры картинок с помощью пхп

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Разрешение картинок экрана приветствия, загрузки и завершения работы Windows 7 medvedkovo Оформление Windows 11/ 10 / 8 / 7 / Vista 4 14-01-2010 22:36
[решено] Программа для сохранения картинок с сайта - помогите неполучается ... FlatX007 AutoIt 3 21-10-2009 07:34
Интернет - [решено] Перестали отображаться часть картинок в IE6 tri777ki Microsoft Windows 2000/XP 2 01-07-2008 11:50
Интерфейс - [решено] проблемы с сохранением картинок metou Microsoft Windows 2000/XP 3 04-12-2007 21:26
[решено] Просмоторщик картинок Butunin Klim Программное обеспечение Windows 8 20-10-2006 17:36




 
Переход