deleted428578
Bloody Newbie
|
das nun folgende ist ein original beispiel aus dem buch: "programmieren mit php" http://www.deleted875824.at/php/pro...es/ch01/1-5.phpMan sollte hier etwas eingeben können was dann als Text auf einen Button projiziert wird. Allerdings spuckt er nach druck auf den Button grusigste Fehlermeldungen aus! Bitte ausprobieren und Menung/Lösung ausgeben. Wie gemerkt der code ist nicht von mir sonder aus dem Oreilly Buch. Und da isser: <?php
if (isset($_GET['message'])) {
// load font and image,calculate width of text
$font = 'times';
$size = 12;
$im = ImageCreateFromPNG('button.png');
$tsize = imagettfbbox($size, 0, $font, $_GET['message']);
// center
$dx = abs($tsize[2]-$tsize[0]);
$dy = abs($tsize[5]-$tsize[3]);
$x = (imagesx($im)-$dx)/2;
$y = (imagesy($im)-$dy)/2 + $dy;
// draw text
$black = ImageColorAllocate($im, 0, 0, 0);
ImageTTFText($im, $size, 0, $x, $y, $black, $font, $_GET['message']);
// return image
header('Content-type: image/png');
ImagePNG($im);
exit;
}
?>
<html>
<head><title>Button Form</title></head>
<body>
<form action="<?= $PHP_SELF ?>" method="GET">
Enter message to appear on button:
<input type="text" name="message" /><br />
<input type="submit" value="Create Button" /></form>
</body>
</html>
Bearbeitet von deleted428578 am 21.09.2003, 15:35
|
Rektal
Here to stay
|
Fehlermeldung dazupasten.
|
atrox
in fairy dust... I trust!
|
nicht gleich erschrocken aufeben! die ersten zwei fehlermeldungen sind von bedeutung, alles andere sind folgefehler, weil die fehlerbedingungen nicht überprüft worden sind. Warning: imagecreatefrompng: Unable to open 'button.png' for reading in /home/ue001vfr/www/home/php/progphp-examples/ch01/1-5.php on line 6
Warning: Could not find/open font in /home/ue001vfr/www/home/php/progphp-examples/ch01/1-5.php on line 7
|
deleted428578
Bloody Newbie
|
nicht gleich erschrocken aufeben! die ersten zwei fehlermeldungen sind von bedeutung, alles andere sind folgefehler, weil die fehlerbedingungen nicht überprüft worden sind. naja nicht aufgeben ist gut gesagt: es is ja aus einem oreilly lehrbuch als downloadbares beispiel angegeben und deswegen sollte es ja syntaktisch richtig sein. habs auf meinem lokalen pache und auf meiner domain bei inode ausprobiert und es geht bei beiden net mit der gleichen meldung. hier zur info: die ausgabe von phpinfo() http://www.deleted875824.at/php/pro...es/ch01/1-2.php
Bearbeitet von deleted428578 am 10.09.2003, 23:01
|
atrox
in fairy dust... I trust!
|
der php code ist ja auch syntaktisch richtig - hast du die hervorgehobenen stellen der 8laufzeit)fehlermeldungen gelesen ?
|
XeroXs
doh
|
chmod für das verzeichnis auf 777 setzen, dann sollt das erstellen funktioniern... und die font musst halt auch drinnenhaben
|
deleted428578
Bloody Newbie
|
@atrox
wenn du damit das fettdruckte nach den WARNINGS meinst, ja, die pfade stimmen.
@ xeroxs
chmod 777 hat leider nix gerbacht und fonts kann i beim inode server net hinzufügen
|
atrox
in fairy dust... I trust!
|
afais wird ja nichts geschrieben (dh 777 aufs verzeichnis bring nichts), nur gelesen: a) button.png b) eine schriftart offenbar fehlt beides, oder kann aus anderen gründen nicht gelesen werden (rechte) -> falls dateien vorhanden, diese auf 644 setzen
|
atrox
in fairy dust... I trust!
|
wenn du damit das fettdruckte nach den WARNINGS meinst, ja, die pfade stimmen. ich meine das fettgedruckte, das ich dir weiter oben hervorgehoben habe. das was dir php fett ausgibt sind nur die pfade zu den dateien wo der fehler aufgetreten ist - der stimmt garantiert, sonst könnte der fehler nicht auftreten. //edit: nochmal für brillenträger Warning: imagecreatefrompng: Unable to open 'button.png' for reading in /home/ue001vfr/www/home/php/progphp-examples/ch01/1-5.php on line 6
Warning: Could not find/open font in /home/ue001vfr/www/home/php/progphp-examples/ch01/1-5.php on line 7 könntest du bitte postiv oder negativ bestätigen, was der zustand dieser zwei dateien ist ? (button.png, times.ttf)
Bearbeitet von atrox am 10.09.2003, 23:16
|
deleted428578
Bloody Newbie
|
//edit: nochmal für brillenträger
könntest du bitte postiv oder negativ bestätigen, was der zustand dieser zwei dateien ist ? sorry, hab net checkt das du das meinst. hab nun schnell ne button.png gemacht jetzt meckert er nur mehr das der font fehlt.. nur woher nehm ich den? (wohlgemekrt, bin unter linux)
|
atrox
in fairy dust... I trust!
|
a) truetype-font package installieren b) im google suchen c) von windows rechner kopieren (natürlich nur zum testen, danach wieder löschen!)
|
deleted428578
Bloody Newbie
|
a) truetype-font package installieren b) im google suchen c) von windows rechner kopieren (natürlich nur zum testen, danach wieder löschen!) so dankeschön is nun gelöst, hab einfach die variable times in courbi ausgewechselnt und nun gehts mit courbi. is mir zwar immer noch ein rätsel wie ich die truetype fonts auf dem server meines providers installieren soll?
|
atrox
in fairy dust... I trust!
|
du "installierst" sie ja nicht - php (oder genauer gesagt gd) ladet die ttf datei nach - im bedarfsfall einfach die datei auf den server kopieren und php die datei finden lassen. (zb gleiches verzeichnis, oder durch pfadangabe)
|
deleted428578
Bloody Newbie
|
o.k. danke für die hilfe.
es hat ma einfach is haxel gstellt das oreilly net glei die button.png mitgegeben hat und gd unter times keine schriftart gefunden hat.
nochmals danke.
|
deleted428578
Bloody Newbie
|
öhm, und wie geht das mit dem schriftarten angeben? wenn ich in das skript schreibe times.ttf gibt es immer die meldung das er es nicht finden kann.
überhaupt auf meinem testserver findet er keine einzige schriftart. wie bekomme ich die ttfs global aufs sys?? und welches freetyp? 1.x oder 2.x? sorry aber ich habe grade keinen druchblick
EDIT: SOLVED! hab eine alte GD version und da muss man den KOMPLETTEN PFAD ZUR ttf file angeben!
Bearbeitet von deleted428578 am 21.09.2003, 15:34
|