php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.10.2004, 17:45  
Gast
 
Beiträge: n/a
Standard TT PNG-Grafik funzt lokal, aber nicht auf WebServer

Hallo,

ich erstelle eine Grafik mit einer TrueType Schrift als PNG.
Lokal funktioniert auch alles prima. Nur auf dem Server (natürlich nicht meiner), gehts nicht. Fehlermeldung:
Warning: imagettfbbox() [function.imagettfbbox]: Could not find/open font in /home/www/htdocs/daddlers.de/voipfinder/produktiv_/data/createpng.php on line 10

Zeile 10 ist:
$range = ImageTTFBBox($size, $angle, $fontfile, $content);

$fontfile ist
$fontfile = "arial.ttf";
Die Datei arial.ttf liegt im selben Verzeichnis.

aus der phpinfo():
GD Support enabled
GD Version bundled (2.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

Sollte doch eigentlich funktuionieren, oder?

gesamte Code:
Code:
$content = rawurldecode($_GET['content']);	// übergebene Inhalt, der für die Ausgabe vermessen wird
$fontfile = "./arial.ttf";	// TrueType Schriftdatei
$angle = $_GET['angel'];	// Winkel der Textausgabe
$size = $_GET['size']; // Font Größe in px
$border = $_GET['border'];	// Rahmenbreite
// Größe des notwendigen Bildbereiches wird vermessen
$range = ImageTTFBBox($size, $angle, $fontfile, $content);
// Ausgangspunkte für Inhalt werden festgelegt
$txtsizeX = abs($range[4] - $range[0]);
$txtsizeY = abs($range[5] - $range[1]);
$imgsizeX = $txtsizeX + 3 * $border;
$imgsizeY = $txtsizeY + 5 * $border;
$txtposX = $border;
$txtposY = $txtsizeY + $_GET['bottom'];
// Bild wird generiert
$image = imagecreate($imgsizeX, $imgsizeY);
// Farben werden festgelegt
$col1 = imagecolorallocate($image, $_GET['r'], $_GET['g'], $_GET['b']);	// Hintergrundfarbe
$col2 = imagecolorallocate($image, 0, 0, 0);	// Textfarbe
// Hintergrund des Bildes wird mit Farbe gefüllt
imagefill($image, 0, 0, $col1);
// Inhalt wird in Bild eingetragen
imageTTFText($image, $size, $angle, $txtposX, $txtposY, $col2, $fontfile, $content);
// Header für Ausgabe als PNG ändern
header("Content-Type: image/png");
// Bild ausgeben
imagepng($image);
// Bild zerstören
imagedestroy($image);
Danke und Gruß
72dpi
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.10.2004, 17:47  
Gast
 
Beiträge: n/a
Standard Re: TT PNG-Grafik funzt lokal, aber nicht auf WebServer

Zitat:
Zitat von 72dpi
ich erstelle eine Grafik mit einer TrueType Schrift als PNG.
Lokal funktioniert auch alles prima. Nur auf dem Server (natürlich nicht meiner), gehts nicht. Fehlermeldung:
Warning: imagettfbbox() [function.imagettfbbox]: Could not find/open font in /home/www/htdocs/daddlers.de/voipfinder/produktiv_/data/createpng.php on line 10

Zeile 10 ist:
PHP-Code:
$range ImageTTFBBox($size$angle$fontfile$content);

$fontfile ist
$fontfile 
"arial.ttf"; <- das ist kein Pfad sondern nur ein Dateiname
Siehe Kommentar im Script.
  Mit Zitat antworten
Alt 15.10.2004, 17:58  
Gast
 
Beiträge: n/a
Standard

ich bin davon ausgegangen, das - wenn ich kein Verzeichnis angebe - im selben Verzeichnis nachgeschaut wird.

Wie soll ich die Angabe eintragen?
Probiert hab' ich:
$fontfile = "arial.ttf";
$fontfile = "./arial.ttf";
$fontfile = "../data/arial.ttf";
$fontfile = "www.blabla.de/hier/und/da/arial.ttf";

geht alles nicht.
Vielleicht stelle ich mich auch gerade zu blöde an!?

Gruß
72dpi
  Mit Zitat antworten
Alt 15.10.2004, 18:05  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von 72dpi
ich bin davon ausgegangen, das - wenn ich kein Verzeichnis angebe - im selben Verzeichnis nachgeschaut wird.
Die Annahme ist falsch.

http://test.php-help.info/img-1/ (Quelltext wird angezeigt)
  Mit Zitat antworten
Alt 15.10.2004, 18:10  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von meikel
Die Annahme ist falsch.
mag sein, aber
$fontfile = "./arial.ttf";
funktioniert genausowenig. Muss also noch irgendwas anderes sein, ich weiß aber nicht mehr was!? Vor allem, weil es ja lokal funzt (mit $fontfile = "arial.ttf")

Noch eine Idee?

Danke und Gruß
72dpi
  Mit Zitat antworten
Alt 15.10.2004, 18:20  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von 72dpi
Noch eine Idee?
Na klar. Machs so wie ich, weil es bei mir klappt:
http://test.php-help.info/img-1/

Ich habe extra für Dich noch ein paar zusätzliche Fonts mit draufgepackt.
  Mit Zitat antworten
Alt 15.10.2004, 18:29  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von meikel
Zitat:
Zitat von 72dpi
Noch eine Idee?
Na klar. Machs so wie ich, weil es bei mir klappt:
http://test.php-help.info/img-1/

Ich habe extra für Dich noch ein paar zusätzliche Fonts mit draufgepackt.
Danke, Danke!

Trotzdem funktioniert es so bei mir leider nicht, obwohl ich mir schon Dein Beispiel geschnappt habe Lokal gehts. Meins auch! Nur der WebServer online macht nix! Obwohl die Voraussetzung nach der phpinfo gegeben seien sollten. Ich weiß nicht, warum er online nicht auf die ttf-Datei zugreift!? Kann der Provider den Zugriff auf solche Dateien gesperrt haben?

Mein jetziger Code:
Code:
<?
$content = rawurldecode($_GET['content']);	// übergebene Inhalt, der für die Ausgabe vermessen wird
//include("createpng_inc.php");
$fontfile = "./arial.ttf";	// TrueType Schriftdatei
$angle = $_GET['angel'];	// Winkel der Textausgabe
$size = $_GET['size']; // Font Größe in px
$border = $_GET['border'];	// Rahmenbreite
// Größe des notwendigen Bildbereiches wird vermessen
$range = ImageTTFBBox($size, $angle, $fontfile, $content);
// Ausgangspunkte für Inhalt werden festgelegt
$txtsizeX = abs($range[4] - $range[0]);
$txtsizeY = abs($range[5] - $range[1]);
$imgsizeX = $txtsizeX + 3 * $border;
$imgsizeY = $txtsizeY + 5 * $border;
$txtposX = $border;
$txtposY = $txtsizeY + $_GET['bottom'];
// Bild wird generiert
$image = imagecreate($imgsizeX, $imgsizeY);
// Farben werden festgelegt
$col1 = imagecolorallocate($image, $_GET['r'], $_GET['g'], $_GET['b']);	// Hintergrundfarbe
$col2 = imagecolorallocate($image, 0, 0, 0);	// Textfarbe
// Hintergrund des Bildes wird mit Farbe gefüllt
imagefill($image, 0, 0, $col1);
// Inhalt wird in Bild eingetragen
imageTTFText($image, $size, $angle, $txtposX, $txtposY, $col2, $fontfile, $content);
// Header für Ausgabe als PNG ändern
header("Content-Type: image/png");
// Bild ausgeben
imagepng($image);
// Bild zerstören
imagedestroy($image);
?>
Gruß
72dpi
  Mit Zitat antworten
Alt 15.10.2004, 19:19  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von 72dpi
Trotzdem funktioniert es so bei mir leider nicht, obwohl ich mir schon Dein Beispiel geschnappt habe Lokal gehts. Meins auch! Nur der WebServer online macht nix! Obwohl die Voraussetzung nach der phpinfo gegeben seien sollten.
Dann vergleiche mal:

GDLIB-Info:
Array
(
[GD Version] => bundled (2.0.28 compatible)
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] => 1
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XBM Support] => 1
[JIS-mapped Japanese Font Support] =>
)
  Mit Zitat antworten
Alt 15.10.2004, 19:19  
Gast
 
Beiträge: n/a
Standard

Auszug aus lokaler phpinfo:
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Da fällt mir im Gegensatz zur Server-phpinfo folgendes auf:
GD Version bundled (2.0.28 compatible)
FreeType Version 2.1.9

auf dem WebServer liegt:
GD Version bundled (2.0 compatible)
und die "FreeType Version"-Zeile fehlt gänzlig!

Kann es daran liegen?
Mir fällt sonst nix mehr ein. So'n Mist!!!!

Gruß
72dpi
  Mit Zitat antworten
Alt 15.10.2004, 19:21  
Gast
 
Beiträge: n/a
Standard

gleiche Uhrzeit

Tja, daran scheint es dann wohl zu liegen!
Denke nicht, dass ich meinen Provider zur Aktulisierung drängen kann!?

Danke
72dpi
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
TinyMCE Editor mit GD Grafik rezix PHP Tipps 2008 8 18.12.2007 22:46
[Erledigt] Grafik in Scheiben schneiden PHP Tipps 2006 6 02.05.2006 18:23
Text und Grafik zentriert in einer Zeile php_frage HTML, Usability und Barrierefreiheit 5 26.04.2006 12:48
Grafik drucken PHP Tipps 2006 13 24.02.2006 23:48
Dynamischer Text in einer Grafik per Formular einfügen PHP Tipps 2005-2 2 19.08.2005 00:55
Grafik über mehrere Zellen einer Tabelle neodrei HTML, Usability und Barrierefreiheit 9 18.08.2005 19:26
[Erledigt] Text + Grafik mit display:inline HTML, Usability und Barrierefreiheit 0 26.07.2005 13:50
in zelle oben text und unten grafik am rand janni HTML, Usability und Barrierefreiheit 4 29.06.2005 23:35
Fehler im Script (?) - Auf Webserver funzt der Code... PHP Tipps 2005 5 09.05.2005 11:17
[Erledigt] Schnittstelle Active Directory zu Apache Webserver Datenbanken 5 21.04.2005 10:07
Probleme mit Grafik nach zeiten PHP Tipps 2005 11 28.03.2005 13:35
[Erledigt] Webserver? PHP Tipps 2005 27 18.01.2005 12:53
[Erledigt] Dateien von Client zu einem Webserver hochladen PHP Tipps 2004 7 12.10.2004 11:33
Cookie-Austausch zw. lokal. Webserver und Internet-Webserver PHP Tipps 2004 1 21.09.2004 22:09
Grafik in Grafik einfügen Filewalker PHP Tipps 2004 3 20.06.2004 14:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
png wird auf webserver nicht angezeigt, php fontfile, webserver png nicht möglich, freetype linkage with freetype, header(\'content-type: image/png\'); border round, png sind auf webserver weiß, read webserver png, imagepng funktioniert nur lokal php local, png bilder webserver, png datei webserver, angeln-04 png-grafik, webserver freetype, png lokal funktioniert, grafik lokal, schriftart nicht auf webserver, apache server png nicht, webserver png grafiken, font in .png ausgeben, webserver font path arial, html lokale grafik einfügen file:

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.