getimagesize
Ermittelt die Größe einer Grafik
Beschreibung
array getimagesize
( string $filename
[, array &$imageinfo
] )
getimagesize kann im Parameter imageinfo
weitere Informationen liefern.
Hinweis:
Beachten Sie, dass JPC und JP2 aus Komponenten mit verschiedener Farbtiefe bestehen
können. In diesem Fall entspricht der Wert für "bits" dem höchsten gefundenen
Wert.
Des Weiteren können JP2-Dateien mehrere JPEG 2000 Codestreams enthalten. In
diesem Fall gibt getimagesize die Werte des
ersten gefundenen Codestreams zurück.
Hinweis:
Informationen über Icons werden für das Icon mit der höchsten Bitrate
ermittelt.
Parameter-Liste
-
filename
-
Die zu überprüfende Datei. Dabei kann es sich um eine lokale Datei oder,
eine entsprechende Konfiguration vorausgesetzt, um eine entfernte Datei
handeln, die über einen unterstützten Stream gelesen wird.
-
imageinfo
-
Dieser optionale Parameter erlaubt es, erweiterte Informationen aus der
Datei zu ermitteln. Momentan werden die verschiedenen JPG
APP Markierungen als assoziatives Array zurückgegeben. Diese Markierungen
werden von einigen Programmen verwendet um Textinformationen in Grafiken
zu speichern.
Gebräuchlich ist die Einbettung von IPTC
» http://www.iptc.org/ Informationen in die
APP13-Markierung. Sie können iptcparse benutzen,
um die binäre APP13-Markierung in ein lesbares Format zu übertragen.
Rückgabewerte
Gibt ein Array mit bis zu sieben Elementen zurück. Nicht alle Bildtypen
enthalten die Elemente channels und bits.
Index 0 und 1 enthalten Breite respektive Höhe der Grafik.
Hinweis:
Einige Formate enthalten keine oder mehrere Grafiken. In diesen Fällen ist
getimagesize möglicherweise nicht in der Lage, die
Dimensionen zu ermitteln; der Rückgabewert für Breite und Höhe ist in
diesen Fällen 0.
Index 2 ist eine der IMAGETYPE_XXX-Konstanten
entsprechend des Typs der Grafik.
Index 3 ist eine Zeichenkette mit dem Attributen Breite und Höhe in der Form
height="yyy" width="xxx" zur Verwendung in einem
IMG-Tag.
mime entspricht dem MIME-Typ der Grafik. Diese Information
kann zur Auslieferung von Grafiken mit dem entsprechenden HTTP
Content-type-Header dienen.
Beispiel #1 getimagesize() und MIME-Typ
<?php
$size = getimagesize($filename);
$fp = fopen($filename, "rb");
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp);
exit;
} else {
// Fehler
}
?>
channels hat für RGB-Grafiken den Wert 3, für CMYK den
Wert 4.
bits entspricht der Anzahl der Bits pro Farbe.
Für einige Bildformate kann die Angebe von channels und
bits irreführend sein. Beispielsweise nutzt GIF
immer drei Kanäle pro Pixel, aber die Anzahl der Bits pro Pixel kann
für ein animiertes GIF mit einer globalen Farbtabelle
nicht errechnet werden.
Gibt im Falle eines Fehlers FALSE zurück.
Fehler/Exceptions
Wenn ein Zugriff auf die mit filename angegebene
Grafik nicht möglich ist, wird getimagesize einen
Fehler der Stufe E_WARNING generieren.
Bei einem Lesefehler wird getimagesize einen Fehler
der Stufe E_NOTICE hervorrufen.
Beispiele
Beispiel #2 getimagesize-Beispiel
<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
?>
Beispiel #3 getimagesize (URL)
<?php
$size = getimagesize("http://www.example.com/gifs/logo.gif");
// if the file name has space in it, encode it properly
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");
?>
Beispiel #4 getimagesize() mit Rückgabe von IPTC
<?php
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
$iptc = iptcparse($info["APP13"]);
var_dump($iptc);
}
?>
Anmerkungen
Hinweis:
Diese Funktion benötigt die GD-Bibliothek nicht.
Hinweis:
Diese Funktion erwartet, dass filename eine gültige Bilddatei ist.
Wird eine Datei angegeben, die kein Bild enthält, kann sie fälschlicherweise als Bild erkannt
werden, und die Funktion wird erfolgreich ausgeführt.
getimagesize sollte nicht verwendet werden, um zu überprüfen,
ob eine gegebene Datei ein Bild enthält. Statt dessen sollte eine für diesen Zweck entwickelte
Lösung wie die Fileinfo-Extension verwendet werden.
Siehe auch
- image_type_to_mime_type
- exif_imagetype
- exif_read_data
- exif_thumbnail