2 Stimmen

php imagettftext aus dem Speicher laden

Die Funktion php gd imagettftext kann nur True-Type-Schriften aus einer Datei laden. Gibt es eine Möglichkeit, sie aus dem Speicher zu laden? Zum Beispiel ziehe ich die Datei aus einer DB und übergebe die Byte-Zeichenkette irgendwie in sie?

Die einzige andere Möglichkeit, die mir einfällt, ist, die Datei aus der Datenbank zu laden, sie auf die Festplatte zu schreiben (falls sie noch nicht vorhanden ist) und sie dann mit /w imagettftext zu laden. Gibt es einen besseren Weg?

2voto

Lauri Punkte 341

Ich empfehle, alle Binärdateien auf dem Dateisystem zu speichern und die Pfade zu diesen Dateien in der Datenbank zu hinterlegen. Die Datenbank ist kein Ort für Binärdateien.

1voto

Mech Punkte 2854

Eine temporäre Datei klingt wie eine ziemlich gute Idee, aber ich frage mich, warum Sie wollen, um es in einer Datenbank zu speichern. Es ist viel effizienter, all diese TTFs in einem Verzeichnis zu speichern. Ich würde dann nur den Pfad/Dateinamen speichern. Die vielen temporären Operationen, um die temporären Dateien auf die Festplatte zu schreiben, könnten in einer Umgebung mit hoher Last erhebliche negative Auswirkungen haben.

1voto

erisco Punkte 13748

Ich glaube, Sie sind gezwungen, mit GD aus dem Dateisystem zu lesen. Selbst die Implementierung eines benutzerdefinierten Stream-Wrappers hat nicht geholfen; GD macht offensichtlich keinen Gebrauch von PHPs Stream-System und lädt die Datei einfach selbst.

Möglicherweise möchten Sie eine andere Sprache mit einer Bildverarbeitungsbibliothek verwenden, die das leisten kann, was Sie brauchen. Sie können Ihre Webseiten mit PHP und Ihre Bilder mit einer anderen Sprache ausliefern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X