[PHP] ImageTTFText funktioniert nicht.

  • Hallo Leute.
    Ich habe mich heute einmal an einer Server-Anzeige probiert und musste mit Bedauern feststellen,
    dass folgender Code nicht ganz so funktioniert wie geplant.



    Sobald ich die Funktion ImageTTFText verwende, so wird mir das geladene Bild nicht mehr angezeigt.
    Sprich, es kommt folgendes Icon:

    Sobald ich die ImageTTFText-Funktion weg lasse sehe ich wieder mein Bild, welches als Hintergrund gedacht war.


    Kennt sich eventuell jemand mit diesem Thema aus?
    Ich würde mich sehr über Hilfe freuen.

  • Das Problem hatte ich damals auch. Soweit ich mich erinnere liegt das daran, dass der Font-Pfad nicht korrekt angegeben ist. Probiere mal den Pfad zu der Font absolut anzugeben (Also /users/...)

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Eigentlich sollte auch ein Slash (/) am Anfang des Pfads reichen.

    PHP
    ImageTTFText($image, 12, 0, 0, 16, $black, '/tt0351m_.TFF' , 'Spieler: '.$count);


    Sollte das nicht funktionieren, kannst du SSLs Tipp befolgen und den Header zum Debugen weglassen.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Funktioniert leider immer noch nicht. Ich habe inzwischen sogar den kompletten Pfad angegeben. Leider kein Erfolg.
    Als Fehler steht dort folgendes:


    Zitat

    Warning: imagettftext(): Could not find/open font in /var/customers/webs/ni49627_2/Serverstats/image.php on line 8

    Dort steht ja im Prinzip, dass die Funktion die Schriftart nicht öffnen oder nicht finden konnte. Gibt es da irgendwelche Unterschiede?

    Einmal editiert, zuletzt von Zone ()

  • Sind die Rechte richtig gesetzt? Mach mal zum Testen meinen Versuch + Font-Datei chmod auf 776. Dateinamen auch nochmal überprüfen.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Hier ist einmal ein Bild mit den Berechtigungen: (2. Spalte von rechts)

    Ich glaube von den Berechtigungen her sollte das reibungslos gehen. Den Namen der Datei habe ich nun auch schon mehrfach geprüft.
    Desweiteren habe ich mich einmal in der phpinfo-Funktion umgeschaut und folgendes Gefunden:



    Auf php.net steht folgendes:

    Da bei GD-Version 2.0 steht, nehme ich an, dass ich die Font-Datei in einen Ordner setzen soll, welcher keine Leerzeichen beinhaltet.
    Dies habe ich auch getan. Hier einmal der komplette Pfad zur Kontrolle. Vielleicht findet ja doch noch jemand den Fehler:
    ....de/Serverstats/fonts/tt0351m_.ttf (Seitenname entfernt. Ich weiss gerade nicht ob ich einfach so einen Link zu meiner Website einstellen darf.)
    Die image.php befindet sich ebenfalls in dem Serverstats-ordner.

  • Tu es einfach.
    Btw. befolge doch die Tipps aus deinem Zitat.


    PHP
    // Oben
    putenv('GDFONTPATH=' . realpath('.'));
    // Angepasst, ersetzen
    ImageTTFText($image, 12, 0, 0, 16, $black, 'tt0351m_' , 'Spieler: '.$count);

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Ich danke euch allen für eure Hilfe. Funktioniert nun.
    Hier nochmal der funktionierende Code, falls jemand mal mit dem selben Problem auf den Thread stößt:

  • Kleiner abschließender Tipp: file_get_contents.


    PHP
    <?php 
    header('Content-type: image/png'); 
     putenv('GDFONTPATH=' . realpath('.')); 
    $image = imagecreatefrompng("picture.png"); 
     $count = file_get_contents('players.count');
    $black = ImageColorAllocate ($image, 0, 0, 0); 
    ImageTTFText($image, 12, 0, 0, 16, $black, 'tt0351m_' , 'Spieler: '.$count); 
    imagepng($image);
     imagedestroy($image);
    ?>

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Ich will hier nicht pushen oder so, aber ich hab ein Problem ^^.

    Zitat

    �PNG
    IHDR��߇mIDATx����K*RQQa�Z !~����i"�=OCC�D"
    �.�������zU*�D"�o�*##���!777�{�`0�v�i�Xs��Ͽ��pX(���P(�7222!F����:�~
    ���� ��rC���IHX�H�lk�8���&������p

    Warum wird mir kein Bild erstellt / angezeigt, habe testweise auch mal den Code da
    oben benutzt (natürlich auch kurz umgeändert), trotzdem wird mir nur das
    da oben angezeigt, kann mir jemand sagen warum ?


    Anscheinend sind die Zeichen da oben eine Lücke für die Seite, da sie meinen Beitrag nicht ganz anzeigen!
    Habe den mal verkürzt.
    ( Klemmlampe: kann mir bestimmt eine Antwort für den Fehler nennen (mit der Lücke) ^^)

  • Ja habe ich, habe das Problem aber selbst lösen können:


    Hatte alles in einer Datei, und naja da kam es dann bestimmt zu Komplikationen, habe es nun in einer seperaten Datei.


    Danke :)

    Zeig mal dein gesammten Code der Seite...

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • Beitrag von palwal ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.