URL: https://www.overclockers.at/coding-stuff/php_image_problem_92161/page_1 - zur Vollversion wechseln!
das nun folgende ist ein original beispiel aus dem buch: "programmieren mit php"
http://www.deleted875824.at/php/pro...es/ch01/1-5.php
Man 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:
Code:<?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>
Fehlermeldung dazupasten.
nicht gleich erschrocken aufeben!
die ersten zwei fehlermeldungen sind von bedeutung, alles andere sind folgefehler, weil die fehlerbedingungen nicht überprüft worden sind.
ZitatWarning: 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
Zitat von atroxnicht gleich erschrocken aufeben!
die ersten zwei fehlermeldungen sind von bedeutung, alles andere sind folgefehler, weil die fehlerbedingungen nicht überprüft worden sind.
der php code ist ja auch syntaktisch richtig - hast du die hervorgehobenen stellen der 8laufzeit)fehlermeldungen gelesen ?
chmod für das verzeichnis auf 777 setzen, dann sollt das erstellen funktioniern... und die font musst halt auch drinnenhaben
@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
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
Zitat von deleted875824wenn du damit das fettdruckte nach den WARNINGS meinst, ja, die pfade stimmen.
könntest du bitte postiv oder negativ bestätigen, was der zustand dieser zwei dateien ist ? (button.png, times.ttf)ZitatWarning: 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
Zitat von atrox//edit: nochmal für brillenträger
könntest du bitte postiv oder negativ bestätigen, was der zustand dieser zwei dateien ist ?
a) truetype-font package installieren
b) im google suchen
c) von windows rechner kopieren (natürlich nur zum testen, danach wieder löschen!)
Zitat von atroxa) truetype-font package installieren
b) im google suchen
c) von windows rechner kopieren (natürlich nur zum testen, danach wieder löschen!)
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)
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.
ö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!
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025