работа с изображениями

Alx

Новичок
работа с изображениями

Приветствую!

Подскажите, плз, как правильно организовать следующий модуль. Необходимо, чтобы на странице с информацией о предмете был блок с его фотографиями. Например, слева одно изображение 400х300, а справа в таблице девять маленьких thumbnails.

Как правильно выстроить логику работы этого модуля? Возможно ли грузить на сервер только большие фото 800х600 (для просмотра в отдельном окне), чтобы программа сама преобразовывала эти изображения в 80х60 (thumbnails) и 400х300 (изображение слева от таблицы с thumbs)?

Начитался в мане и на форуме о разных функциях и отдельных модулях так что в голове просто мешанина. Не прошу разбирать это за меня, просто подскажите ход действий.
 

kvf77

Red Devil
Ты сам подсказал себе ход действий :)
Грузишь на сервер изображение оригинала и сохраняешь его. Затем делаешь из него несколько маленьких избражений (с нужными тебе размерами).
 

sakon

П..и.н..ок
Re: работа с изображениями

Автор оригинала: Alx
Как правильно выстроить логику работы этого модуля? Возможно ли грузить на сервер только большие фото 800х600 (для просмотра в отдельном окне), чтобы программа сама преобразовывала эти изображения в 80х60 (thumbnails) и 400х300 (изображение слева от таблицы с thumbs)?
http://www.php5.ru/articles/image#size
 

nirex

Новичок
http://ldbglobe.fried-rice.net/_divers/data/class.ImageFilter/class.ImageFilter.zip вот класс по работе с изображениями , с примерами :)
 

Alx

Новичок
подскажите, плз, что именно делает вот эта команда:

PHP:
imagejpeg($target, $TARGET, 100);
Записывает в переменную $TARGET изображение $target? Или как это правильными словами называется?
 

Фанат

oncle terrible
Команда форума
Alx
тебе ссылку на документацию дать, или сам найдёшь?
 

Alx

Новичок
ок, неправильно поставлен был вопрос.

До момента вызова этой функции физически файл с изображением $TARGET не существовал. Т.е. данная функция сама физически создаст изображение и запишет его в файл $target?

sakon дал ссылку, всё делаю как там описано, но уменьшенное изображение на экран не выводится. В логе пишет, что файл не существует.
 

Фанат

oncle terrible
Команда форума
повторяю.
тебе ссылку на документацию дать, или сам найдёшь?
Ты вообще знаешь, что такое справочная документация по языку программирования?
 

Alx

Новичок
благодарствую величаво, но по вышеуказаному адресу говорится, что "Функции генерации графических файлов, такие как imagejpeg, могут выводить результат своей работы не только в броузер, но и в файл. Для этого следует указать имя файла в необязательном втором параметре".

Фанат, это понятно что указывать нужно именно имя_файла, а не его размер, или ещё о чём ты мог подумать..

Вопрос: как физически создать thumbnail на диске?
 

Фанат

oncle terrible
Команда форума
а по ссылке, которую дал sakon, разве не это написано?
там написано, как физически создать клон овечки долли на луне?

-~{}~ 10.06.05 21:12:

так, понятно.
у тебя проблема с этим кодом.
если есть проблема с кодом, то надо решать её, а не прикапываться к одной единственной функции.

как решать проблемы с кодом, написано тут: http://phpfaq.ru/debug

-~{}~ 10.06.05 21:13:

то есть,твой вопрос должен зуччать не "как создать", а "почему не создаёт".
поскольку как создать, написано по ссылке, а вопрос твой получается лишённым смысла
 

Alx

Новичок
Когда я использую второй вариант кода с функцией img_resize(), выходит сообщение "Image resized OK". Значит код всё-таки работает. Тогда где же это image которое было resized? Скажите, программа на самом деле создаст новый файл на диске? Задаю этот вопрос, т.к. в логе есть такая запись "PHP Warning: imagejpeg(): Unable to open 'test-s.jpg' for writing in..."
 

Фанат

oncle terrible
Команда форума
прочти ссылку, которую я дал, и приведи полный и точный текст сообщения об ошибке
 

Alx

Новичок
PHP Warning: imagejpeg(): Unable to open 'test-s.jpg' for writing in img_resize.php on line 45
File does not exist: test-s.jpg, referer: http://mysite.com/image.php

В файле img_resize.php у меня записана функция один-в-один с той страницы (45 линия - это imagejpeg($idest, $dest, $quality)).

В файле image.php я вызываю саму функцию img_resize('test.jpg', 'test-s.jpg', 100, 60)
 

Фанат

oncle terrible
Команда форума
вопрос твой
Скажите, программа на самом деле создаст новый файл на диске?
не имеет смысла.
мы, отсюда, никак не можем предсказать - сощздаст она, или нет. может у тебя диска вообще нет.
об этом три раза написано по ссылке

тем более твой вопрос не имеет смысла, если ты сам же тут же приводишь и сообщение об ошибке - что файл НЕ ЗАПИСАН.

постарайся впредь задавать более осмысленные вопросы.

по поводу твоей ошибки - пхп не пишет, почему файл не записан (если ты что-то не скрываешь), поэтому тебе придётся попытаться понять, почему это происходит.
повторыю: ТЕБЕ. Дядя с форума на твой сервер не залезет и не посмотрит. об этом тоже написано по ссылке.

проблема твоя сейчас - не в картинках. а в записи файлов.
поэтому попробуй открыть файл на запись через fopen и посмотреть сообщение об ошибке от него. может быть,Ю обо будет информативнее
 
Сверху