"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP: image problem

uebi 10.09.2003 - 22:41 584 14
Posts

deleted428578

Bloody Newbie
Registered: Jul 2024
Location:
Posts: 0
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>
Bearbeitet von deleted428578 am 21.09.2003, 15:35

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Fehlermeldung dazupasten.

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
nicht gleich erschrocken aufeben!
die ersten zwei fehlermeldungen sind von bedeutung, alles andere sind folgefehler, weil die fehlerbedingungen nicht überprüft worden sind.
Zitat
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
Registered: Jul 2024
Location:
Posts: 0
Zitat von atrox
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!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
der php code ist ja auch syntaktisch richtig - hast du die hervorgehobenen stellen der 8laufzeit)fehlermeldungen gelesen ?

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10334
chmod für das verzeichnis auf 777 setzen, dann sollt das erstellen funktioniern... und die font musst halt auch drinnenhaben

deleted428578

Bloody Newbie
Registered: Jul 2024
Location:
Posts: 0
@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!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
Zitat von deleted875824
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 ;)

Zitat
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
Registered: Jul 2024
Location:
Posts: 0
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 ?


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!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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
Registered: Jul 2024
Location:
Posts: 0
Zitat von atrox
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!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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
Registered: Jul 2024
Location:
Posts: 0
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
Registered: Jul 2024
Location:
Posts: 0
ö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
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz