PHP Doku:: Ermittelt den Bildtyp - function.exif-imagetype.html

Verlauf / Chronik / History: (49) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzBildverarbeitung und -generierungExchangable Image Information (EXIF)Exif-Funktionenexif_imagetype

Ein Service von Reinhard Neidl - Webprogrammierung.

Exif-Funktionen

<<Exif-Funktionen

exif_read_data>>

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5)

exif_imagetypeErmittelt den Bildtyp

Beschreibung

int exif_imagetype ( string $filename )

exif_imagetype() liest die ersten bytes des Bildes aus und überprüft dessen Signatur.

exif_imagetype() kann benutzt werden, um Aufrufe anderer exif-Funktionen bei nicht unterstützten Dateitypen zu vermeiden. Es kann auch in Verbindung mit $_SERVER['HTTP_ACCEPT'] dazu verwendet werden, ob der Betrachter ein bestimmtes Bild in seinem Browser sehen kann oder nicht.

Parameter-Liste

filename
Das zu überprüfende Bild.

Rückgabewerte

Bei einer richtigen Signatur wird die entsprechende Konstante als Wert zurückgegeben, andernfalls FALSE. Der Rückgabewert ist derselbe, der auch von getimagesize() als Index 2 zurückgegeben wird, nur ist exif_imagetype() deutlich schneller.

Changelog

Version Beschreibung
4.3.2 Unterstützung für JPC, JP2, JPX, JB2, XBM und WBMP
4.3.0 Unterstützung für SWC

Vordefinierte Konstanten

Die folgenden Konstanten sind definiert und repräsentieren die möglichen Rückgabewerte von exif_imagetype():
Konstanten für Bildtypen
Wert Konstante
1 IMAGETYPE_GIF
2 IMAGETYPE_JPEG
3 IMAGETYPE_PNG
4 IMAGETYPE_SWF
5 IMAGETYPE_PSD
6 IMAGETYPE_BMP
7 IMAGETYPE_TIFF_II (intel-Bytefolge)
8 IMAGETYPE_TIFF_MM (motorola-Bytefolge)
9 IMAGETYPE_JPC
10 IMAGETYPE_JP2
11 IMAGETYPE_JPX
12 IMAGETYPE_JB2
13 IMAGETYPE_SWC
14 IMAGETYPE_IFF
15 IMAGETYPE_WBMP
16 IMAGETYPE_XBM

Beispiele

Beispiel #1 exif_imagetype()-Beispiel

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 
'Das Bild ist kein gif';
}
?>

Siehe auch


6 BenutzerBeiträge:
- Beiträge aktualisieren...
admin at leonard !spam challis dot com
3.11.2010 17:02
Windows users: If you get the fatal error "Fatal error:  Call to undefined function exif_imagetype()", and you have enabled php_exif.dll, make sure you enable php_mbstring.dll. You must put mbstring before exif in the php.ini, i.e.:

extension=php_mbstring.dll
extension=php_exif.dll

You can check whether this has worked by calling phpinfo() and searching for exif.
tom dot ghyselinck at telenet dot be
13.01.2008 10:36
If the function exif_imagetype() is not available,
you can try the following workaround:

if ( ! function_exists( 'exif_imagetype' ) ) {
    function exif_imagetype ( $filename ) {
        if ( ( list($width, $height, $type, $attr) = getimagesize( $filename ) ) !== false ) {
            return $type;
        }
    return false;
    }
}
Tim
19.11.2007 17:40
By trial and error, it seems that a file has to be 12 bytes or larger in order to avoid a "Read error!".  Here's a work-around to avoid an error being thrown:

// exif_imagetype throws "Read error!" if file is too small
if (filesize($uploadfile) > 11)
    $mimetype = exif_imagetype($uploadfile);
else
    $mimetype = false;

10.11.2006 1:43
Seems to give a 'Read error' warning if the size of the file is very small (2 bytes). I think this is because it needs a min 3 bytes to determine the file type
tom at tomvergote dot be
7.02.2004 23:11
libexif can also be used to parse image info out of id3 tags:

exif_read_data("mp3_with_2.4ID3TAGS, '', true, false);
tilmauder at yahoo dot com
6.07.2003 1:57
After looking for hours, I found a very good source for exif related programs here: http://drewnoakes.com/code/exif/index.html
It lists exif specifications (pdf), a few good links to exif related stuff. The best source I have found in my quest to understand exif better for use in php based exif tools.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)