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...)
- 7691 megtekintés
Hozzászólások
lyenkor ird le azt is, hogy:
a, mi kellene, hogy tortenjen
b, mi az ami valojaban tortenik
---
Apple iMac 20"
áéíóöőúüű
- A hozzászóláshoz be kell jelentkezni
Jabocs, jogos. Az kellene, hogy történjen, hogy az 'aaa.jpg' kép háttérre egy átláccós fekete téglalapon egy fehér szöveget megjelenítsen.
Ehelyett csupán egy image placeholder jelenik meg a böngészőben.
- A hozzászóláshoz be kell jelentkezni
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 hozzászóláshoz be kell jelentkezni
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);
?>
- A hozzászóláshoz be kell jelentkezni
Tehát rossz gondolatmenet, hogy az index.php includeolja a kep.php-t, ami beolvassa a képet és ki is echozza a képet?
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
Mcsiv: legyszi talald meg a code taget... Meg a < > enkodolast.
Koszke.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
amikor irtam meg jo volt, azota valamiert atvarazsolodott:P
- A hozzászóláshoz be kell jelentkezni
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ó.
- A hozzászóláshoz be kell jelentkezni
Ja értem már hogy megy, de ha kiveszem az echo sort, akkor sem jelenik meg a kép...
- A hozzászóláshoz be kell jelentkezni
<?php
header("Content-Type: image/jpeg");
$image = imagecreatefromjpeg('aaa.jpg');
imagejpeg($image);
imagedestroy($image);
?>
Próbálj meg ennyit, ha ez már megy, lehet tovább finomítani.
- A hozzászóláshoz be kell jelentkezni
Na és ha ez sem, akkor mi lehet a probléma?
- A hozzászóláshoz be kell jelentkezni
akkor vagy nincs gd telepítve, vagy nincs aaa.jpg
- A hozzászóláshoz be kell jelentkezni
Jól sejtem, hogy kizárólag ez a két lehetőség van?
- A hozzászóláshoz be kell jelentkezni
nézd meg a php_info-ban, hogy van e fenn GD
- A hozzászóláshoz be kell jelentkezni
Igen, és a jpg is a helyén van, ezért érzem úgy, hogy valamire még nem gondolok...
- A hozzászóláshoz be kell jelentkezni
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);
- A hozzászóláshoz be kell jelentkezni
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ó
--
- A hozzászóláshoz be kell jelentkezni
up...
- A hozzászóláshoz be kell jelentkezni
Kollega fentebb irta, hogy a kep a helyen van es raadasul ugyanolyan elvetemultek vagyunk :), viszont azt mar nem irta le, hogy mit lat igy.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni