[updated] PHP GD problematika

Frissíteném a topicot, valóban lényeges részt hagytam ki a kérdésből.
A kód egy facebook alkalmazás részeként funkcionálna. Fogalmam sincs, hogy ez mennyiben befolyásolja ezeknek a függvényeknek a működését, de ez a legegyszerűbb kód sem fut le:

<?php header("Content-Type: image/jpeg");
$image = imagecreatefromjpeg('image.jpg');
imagejpeg($image);
imagedestroy($image); ?>

Ezzel kapcsolatban van valakinek tapasztalata?

---

Sziasztok!

Meg tudná valaki mondani, hogy mi a probléma ezzel a kóddal?


<?php
header("Content-Type: image/jpeg");

$image = imagecreatefromjpeg('aaa.jpg');
$width = imagesx($image);
$rectCol = imagecolorallocatealpha($image, 0, 0, 0, 40);
$textCol = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $width, 50, $rectCol);
$textX = 10;
$textY = 32;
$font = 'font.ttf';
$text = "text";
imagettftext($image, 18, 0, $textX, $textY, $textCol, $font, $text);
imagejpeg($image);
imagedestroy($image);
echo "img src=\"".$image."\" title=\"kep\"/";
?>

(Nem az echo-val van gond azt csak ide nem tudtam normálisan kiírni...)

Hozzászólások

lyenkor ird le azt is, hogy:
a, mi kellene, hogy tortenjen
b, mi az ami valojaban tortenik

---
Apple iMac 20"
áéíóöőúüű

Megnemmondom melyik gd verzió - amit egyébként perl szólongatott nálam - valamiért egy soremeléssel kezdett minden képet, ami pont ilyen széteséshez vezetett. Még meg is magyaráztam magamnak, hogy "mer biztosan a header lezárására is gondoltak", aztán egy frissítéssel azonnal eltűnt ez az általam fícsörnek bemagyarázott marhaság.
Viszont ez durva régen volt, meglepne, ha olyan öreg lib forogna közkézen.

A gond az, hogy nem tudod mi hogyan és miért működik.
De, az echo -val van a gond.

Egyrészt, szedd külön
index.html:
-----------

kep.php:
-----------
<?php
header("Content-Type: image/jpeg");

$image = imagecreatefromjpeg('aaa.jpg');
$width = imagesx($image);
$rectCol = imagecolorallocatealpha($image, 0, 0, 0, 40);
$textCol = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $width, 50, $rectCol);
$textX = 10;
$textY = 32;
$font = 'font.ttf';
$text = "text";
imagettftext($image, 18, 0, $textX, $textY, $textCol, $font, $text);
imagejpeg($image);
imagedestroy($image);
?>

direkt azért írtam html-t, hogy még véletlenül se gondolj php-ra ott.
az esetében olyan, mintha lenne ott, vagyis a szerver megpróbálja letölteni a kep.php nevezetü képet.
Ezt a képet generálja a kep.php.
A kep.php -ban azért nem kell echo, mert az imagejpeg($image) létrehozza és kiküldi az $image handlerben lévő "képet" jpeg formátumban

Az $image az egy handle a jpegedre, ay img src-be pedig egy url-t kéne tenni, gyakorlatilag az echora semmi szükség itt, az imagejpeg magát a jpeget adja vissza, így a jpeg streambe beleírja az "img src=..." szöveget, nem hinném, hogy az jó.

Nezd meg, hogy semmi space nincs a <?php tag elott. Jelen esetben nem sok ertelme van a zaro tag-nek... (csak a baj van/lehet vele :) )

Ha nem megy akkor szedd ki a header-t es nezd meg a hibauzenetet. (Szerk: nyisd meg a kepet generalo "oldalt" a bongeszoben, vagy toltsd le a hibas kepet es nezd meg mi van a file-ban!)

<?php
//header('Content-Type: image/jpeg');

$image = imagecreatefromjpeg('aaa.jpg');
imagejpeg($image);
imagedestroy($image);

Hol az aaa.jpg?
Mert legtöbbször az szokott a gond lenni.
Olvasható?
Ugyanaz a ttf-re is vonatkozik.

Én szoktam olyan elvetemült lenni, hogy futtatom a php-t külön, header nélkül.
Ilyenkor egyből szembetűnik a hiba.

Másik, hogy megnézem az error.log -ot :)

pch
--
http://www.buster.hu "A" számlázó
--

Ebben az esetben a kep.php egy kép lesz, csak php a kiterjesztése, nagyon durván. :)
Tehát van a rendes html kódod, amiben beillesztesz pl egy img tagot, aminek forrása a kep.php lesz.
Tehát ketté kell venni a feladatot. Egyik része a weboldal kód, a másik a megjelenített kép kódja. Ezt nem tudod egybe fűzni.

Két állomány kell, hogy legyen.