How to get image resource Dateigröße in Byte mit PHP und GD?
Ich bin Größenanpassung der Bilder mit php gd. Das Ergebnis ist Bild-Ressourcen, die ich hochladen möchte, um Amazon S3. Es funktioniert großartig, wenn ich speichern die Bilder auf der Festplatte den ersten, aber ich würde gerne laden Sie Sie direkt aus dem Speicher. Das ist möglich, wenn ich nur weiß, der Bytegröße des Bildes.
Gibt es einige Weg, um die Größe (in bytes) der ein gd-Bild-Ressource?
- Sie können nicht hochladen Ressourcen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man unter Verwendung der PHP - Speicher-i/o-stream um das Bild zu speichern und anschließend Holen Sie sich die Größe in bytes.
Was Sie tun, ist:
Nun sollten Sie wissen, die Größe
Ich weiß nicht jeder (gd) - Methode auf, um die Größe eines Bildes Ressource.
gd
Funktionen erwarten einen Pfad, eine Datei-Ressource zu schreiben. Dies sollte in Zusammenarbeit mit output buffering statt, obwohl.php://memory/resource=img.jpeg
Kann ich nicht schreiben, die auf php://memory mit imagepng, so dass ich mit ob_start(), ob_get_content() end ob_end_clean()
ob_get_length
wie @JonathanWren vorgeschlagen?Funktioniert das auch:
Und jetzt
$size
haben Ihre Größe in bytes.Könnte man auf die folgende Antwort, für die Hilfe. Es funktioniert für generische memory-änderungen in php.
Obwohl seit Gemeinkosten beteiligt werden könnten, es ist vielleicht auch eher eine Schätzung.
Bekommen Größe von PHP-Objekten
Speichern Sie die image-Datei in das gewünschte format, um eine tmp dir, und verwenden Sie dann filesize() http://php.net/manual/de/function.filesize.php vor dem hochladen in S3 von der Festplatte.