GD вместо картинки выводит какие-то крокозябры. Помогите разобраться, плиз.

Кром

Новичок
Да, похоже все бесполезно.
У товарища нет ни желания отвечать на вопросы, ни желания думать. Одно вранье.

>темы для приколов в форуме
Твоя тема уже один большой прикол.
 

Fiva

Держу ZMH
defence
Плюнем на все и начнем с начала, напиши скрипт который ты запускаешь, причем его существенный блок, а не 2 строки, и ошибку, какую он выводит.
 

defence

Деклассированный элемент
Кром

Все что я от тебя хочу, это внятное описание проблемы
А в первом посте я разве не понятно проблему изложил? И в последующем:

У меня вместо картинки выводится ее бинарный код ввиде набора непонятных мне символов. ОНИ МНЕ НЕ НУЖНЫ, МНЕ КАРТИНКИ НУЖНЫ. Хидер на своем месте, ошибки не выдает. Ладно... Fiva мне подсказал - крокозябры исчезли, но картинка все равно не выводится, пусто.

Помогите разобраться, плиз.
Пути верные, варнинги исчезли совсем, но картинки не отображаются. Млин, если все правильно, что может быть?

-~{}~ 17.05.05 18:23:

Твоя тема уже один большой прикол.
Для кого как... Для меня проблема

-~{}~ 17.05.05 18:31:

Fiva
Давай... Просто я еще мало с GD работал. Вот скрипт, который я нашел, проверил - работает:

PHP:
<?php
$photoImage=ImageCreateFromJPEG("photo.jpg");
ImageAlphaBlending($photoImage, true);

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

ImageJPEG($photoImage);   // вывод в браузер 

ImageDestroy($photoImage);
ImageDestroy($logoImage);
?>
Вместо указанных там имен файлов подставил свои пути:

PHP:
<?php
$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);   // вывод в браузер 

ImageDestroy($photoImage);
ImageDestroy($logoImage);
?>
Полезли непонятные символы вместо картинок.
Потом ты подсказал как исправить. Исправил:

PHP:
<?php
$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);
?>
Непонятные символы исчезли, а картинки так и не появились...
 

Fiva

Держу ZMH
последний скрипт правильный, но откуда ты берешь $row['pic']? по ходу у тебя там пусто... или же нет прав на создание файлов в той директории..

-~{}~ 17.05.05 17:39:

блин ты пытаешься перезаписывать файл? новые естественно у тебя не появятся
$photoImage=ImageCreateFromJPEG("smallpics/$row['pic']");
ImageJPEG($photoImage,"smallpics/$row['pic']");
попробуй их посохранять с другим именем, например
ImageJPEG($photoImage,"smallpics/logo_$row['pic']");

-~{}~ 17.05.05 17:41:

кстати имена не мешало бы писать "smallpics/logo_".$row['pic']

-~{}~ 17.05.05 17:42:

потому как "$row['pic']" как раз и дает пустой результат, попробуй переписать
$photoImage=ImageCreateFromJPEG("smallpics/".$row['pic']);
ImageJPEG($photoImage,"smallpics/".$row['pic']);
 

defence

Деклассированный элемент
но откуда ты берешь $row['pic']?
Обычная выборка из базы

-~{}~ 17.05.05 18:50:

кстати имена не мешало бы писать "smallpics/logo_".$row['pic']
Попробовал, ничего не изменилось...

-~{}~ 17.05.05 18:53:

попробуй их посохранять с другим именем, например
ImageJPEG($photoImage,"smallpics/logo_$row['pic']");
Млин, без изменений

-~{}~ 17.05.05 18:55:

офигеваю уже! Придется наверно экшн в фотошопе задавать для 4000 картинок... Мда, перспективка...
 

kruglov

Новичок
ImageJPEG($photoImage,"smallpics/logo_$row['pic']"); ничего не должен выдавать. Он должен писать в файл. Файл создается?
 

defence

Деклассированный элемент
я читал где-то здесь, что GD вообще-то нормально должна работать с содержимым из базы... В отдельном файле, где имена картинок указаны явным образом все отлично работает..

-~{}~ 17.05.05 19:03:

kruglov

Fiva
Знаете, не создаются файлы почему-то...

-~{}~ 17.05.05 19:04:

Едрён-цитрамон! :(

-~{}~ 17.05.05 19:06:

kruglov
Fiva
А умеет ImageJPEG($photoImage,"smallpics/".$row['pic']); файлы переписывать с тем же именем?
 

Lamer_Scorp

Guest
1. Не создаются файлы: я конечно новичёк, но ты уверен что у тебя на каталог права вообзе есть именно писать файл???

2. Ты не пробовал все свои переменный вывести в браузер, чтоб посмотреть чего ни тебе выдают?

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

defence

Деклассированный элемент
Lamer_Scorp
kruglov
О мать моя! Права на каталог - 777
 

kruglov

Новичок
defence
Попробуйте оперировать абсолютными путями.
Хинт: $_SERVER['DOCUMENT_ROOT']
 

defence

Деклассированный элемент
kruglov
Спасибо! Будем пробовать...

-~{}~ 19.05.05 11:24:

Выдал 2 ошибки:

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error:

и

Warning: imagecreatefromjpeg(): 'C:/Server/www/mp/smallpics/43/143/kd10sgv.jpg' is not a valid JPEG file in...

Так. Ну это уже хоть какой-то результат! Вторая ошибка понятна - кривой джпег (хотя странно - это точно не тиф с компрессией), а вот что первая такое - невосстанавливаемая ошибка какая-то...

-~{}~ 19.05.05 17:17:

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

Может знает кто, как эту беду исправить?
 
Сверху