7
votes

Imagetteftext ne peut pas ouvrir le fichier de polices

Utilisation de exemple de php.net Je reçois un avertissement, et le L'image n'est pas rendue correctement. Je fournis un chemin complet sur le fichier .ttf comme: /var/www/public/myfont.ttf xxx

J'utilise une police personnalisée .ttf trouvée ici . Je peux ouvrir l'amende du fichier à Ubuntu en tant que fichier de police valide. J'ai également tenté d'autres polices, avec le même résultat.

J'utilise Ubuntu 10.04 LTS 32 bits, avec Apache2, PHP5, FreeType6 et PHP5-GD installé. J'ai également tenté de chmod 777 Fichier et dossier avec fichier TTF, avec le même résultat.

Comment puis-je obtenir l'exemple de travail à l'aide d'un fichier de police TTF personnalisé?

* Modifier: code que j'utilise: xxx

sortie de phpinfo (); xxx

test is_file et is_readable : xxx


8 commentaires

Pouvez-vous montrer le code exact? Je ne vois rien de mal mais pour la complétude


Êtes-vous sûr à 100% que c'est le chemin exact de la police? Prendre en compte la sensibilité des cas?


Et il semble y avoir un typo: TFF


Oui. Au départ, j'ai trébuché sur le problème avec le filtre Phpthumb WMT , avec PHPTHumb Vérifiant que le fichier de police existe et peut être lu avant d'appeler Imagettext. Je pourrais ajouter que Imagettfbox donne la même erreur. Y a-t-il un autre bon moyen de déboguer ce qui se passe ici?


@Jon étrange. Qu'est-ce que is_readable () ou is_file () retour?


Quelle version est votre bibliothèque GD?


Pouvez-vous essayer avec une police éprouvée comme arial.ttf ?


En utilisant ARIAL.TTF de: Alxr. userlas.bnl.gov/lxr/source/atlas/tools/atlasdoxygen/fon TS / ... a donné le même résultat avec un avertissement n'a pas pu ouvrir


4 Réponses :


0
votes

Essayez de déplacer le fichier TTF dans le même dir que votre fichier PHP et de modifier $ police à xxx


2 commentaires

Il est déjà dans le même répertoire, et je suppose que vous voulez dire «non classiquebb» sans le .ttf car il n'y a pas de dirigeant / en place? Dans tous les cas - le même avertissement est présent


Oui, je veux dire que, comme vous supposez ... Pouvez-vous essayer de mettre à jour votre bibliothèque GD - la mine est groupée (2.0.34 compatible) et fonctionne correctement.



8
votes

Vous pouvez essayer d'insérer: xxx

devant le premier imagettext , juste pour vous assurer qu'il n'y a pas de problème de chemin.

Mise à jour

Si vous utilisez des caches de polices telles que FC-cache , n'oubliez pas de l'actualiser, par exemple: < Pré> xxx


3 commentaires

Cela donne le même résultat malheureusement. Mais dans tous les cas, j'utilise un fichier de polices statique, pas une construction intégrée.


avait le même problème et ça marche sur ma distribution (Ubuntu 11.10)


Cela a fonctionné pour moi: putenv ('gdfontpath ='. Realpath ('.')); J'utilise un serveur Ubuntu 12.04 et il a corrigé le problème de ImagettFtext (): Impossible de trouver / ouvrir le message d'erreur de police.



0
votes

Mise à niveau de la distribution, y compris tous les packages PHP ont résolu le problème


0 commentaires

0
votes

https://www.php.net/manual/fr/function .imagettetftext.php

Remarque: cette fonction est uniquement disponible si PHP est compilé avec la prise en charge de Freeterype (--With-FreeType-Dir = DIR)

sudo apt-get installer freactype *


0 commentaires