Forum Webscript.Ru

Программирование => PHP => Тема начата: defence от 19 Мая 2005, 15:45:03

Название: GD не выводит картинку
Отправлено: defence от 19 Мая 2005, 15:45:03
Привет всем! Проблемка такая, значит... Из базы выводится каталог товаров. Их около 4000. Надо на каждую картинку поставить логотип фирмы. Я нашел такой вот скрипт (пути уже мной изменены):

 
$photoImage=ImageCreateFromJPEG("smallpics/$row[\'pic\']");
ImageAlphaBlending($photoImage, true);

$logoImage=ImageCreateFromPNG("icons/logo.png");
$logoW=ImageSX($logoImage);
$logoH=ImageSY($logoImage);
ImageCopy($photoImage, $logoImage, 0, 0, 0, 0, $logoW, $logoH);

ImageJPEG($photoImage,"smallpics/$row[\'pic\']");   // вывод в браузер

ImageDestroy($photoImage);
ImageDestroy($logoImage);
?>



Так вот. Если файлы картинок указываю явным образом (т.е. вместо $row[\'pic\'] пишу например photo.jpg), то все работает, а если выбираю из базы в цикле (как в примере скрипта) ничего не выводит. Даже ошибки. Люди! Будте добры, подскажите, где у меня ошибка. Или посоветуйте, может как-то по другому можно? А?

Спасибо!
Название: GD не выводит картинку
Отправлено: hanslinger от 19 Мая 2005, 18:17:19
Можно посмотреть, что передается в $row[\'pic\'], например.
Название: GD не выводит картинку
Отправлено: defence от 20 Мая 2005, 10:22:34
hanslinger
В $row[\'pic\'] передается имя файла картинки типа er23s.jpg

Выяснилось что джпеги сохраняются битые. Во вьювере просматриваются, а фотошоп открывать не хочет, пишет типа неверный формат JPEG файла. И что делать?
Название: GD не выводит картинку
Отправлено: hanslinger от 20 Мая 2005, 11:50:45
Цитировать
Если файлы картинок указываю явным образом (т.е. вместо $row[\'pic\'] пишу например photo.jpg)

то не битые, а
Цитировать
если выбираю из базы в цикле
,
то битые?
Апач русский?
Название: GD не выводит картинку
Отправлено: defence от 20 Мая 2005, 12:20:20
hanslinger

Не русский...
Название: GD не выводит картинку
Отправлено: PaSol от 23 Мая 2005, 13:37:33
запиши не битые файлы
Название: GD не выводит картинку
Отправлено: sarutobi от 24 Мая 2005, 19:59:22
А если вот так:
ImageJPEG($photoImage,"smallpics/" . $row[\'pic\']);
?
Иногда странно интерпретируются переменные-массивы внутри двойных кавычек.....
Название: GD не выводит картинку
Отправлено: Меняздесьдавнонет от 24 Мая 2005, 22:16:43
не странно и не иногда, а вообще никогда не интерптетируются.
Название: GD не выводит картинку
Отправлено: defence от 26 Мая 2005, 10:36:01
Разобрался, народ! Всем огромные спасиба! :) Проблема была вот в чем: Хоть ImageJPEG($photoImage,"smallpics/" . $row[\'pic\']); и предназначена для вывода в браузер, как я, тупая башка, сразу не додумался, что после надо еще и echo "";

И все заработало!
Название: GD не выводит картинку
Отправлено: Меняздесьдавнонет от 26 Мая 2005, 11:32:09
дас ист фантастиш.
Цитировать
defence:
ImageJPEG($photoImage,"smallpics/" . $row[\'pic\']);
предназначена для вывода в браузер

можно поинтересоваться, откуда ты узнал столь потрясающую новость?
И что означает термин "для вывода в браузер"? а какой ещё бывает вывод?
Название: GD не выводит картинку
Отправлено: defence от 26 Мая 2005, 12:39:24
RomikChef
Чо? К словам придираться будем? И гнобить?
Название: GD не выводит картинку
Отправлено: Меняздесьдавнонет от 26 Мая 2005, 13:06:47
а, впрочем, лишнее это всё.
интересно, когда последний раз на этот форум заходил человек с нормальной психикой?