PHP Doku:: Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück - function.imagetypes.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzBildverarbeitung und -generierungBildbearbeitung und GDGD- und Image-Funktionenimagetypes

Ein Service von Reinhard Neidl - Webprogrammierung.

GD- und Image-Funktionen

<<imagettftext

imagewbmp>>

imagetypes

(PHP 4 >= 4.0.2, PHP 5)

imagetypes Gibt die von der aktuell verwendeten PHP-Version unterstützten Grafik-Formate zurück

Beschreibung:

int imagetypes ( void )

Der von dieser Funktion zurück gegebene Bit-Wert stellt die von der in der aktuellen PHP-Kompilation enthaltenen GD-Version unterstützten Grafik-Formate dar. Die folgenden Bit-Werte sind möglich: IMG_GIF, IMG_JPG, IMG_PNG oder IMG_WBMP. Um das Vorhanden sein der GD-Unterstützung zu testen, können Sie folgendes machen:

Beispiel #1 ImageTypes

<?php
if (ImageTypes() & IMG_PNG) {
    echo 
"PNG-Unterstützung ist vorhanden.";
}
?>


4 BenutzerBeiträge:
- Beiträge aktualisieren...
ThunderCrew
31.07.2007 4:38
Im not a smart man but this seemd to be the simplest code and it worked.
Its at the very top of this directory.

<?php
var_dump
(gd_info());
?>

Returned image info and more.

array(11) { ["GD Version"]=> string(27) "bundled (2.0.28 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }
enyo
6.11.2003 4:32
Why not use this function?

<?php
function getSupportedImageTypes() {
   
$aSupportedTypes = array();

   
$aPossibleImageTypeBits = array(
       
IMG_GIF=>'GIF',
       
IMG_JPG=>'JPG',
       
IMG_PNG=>'PNG',
       
IMG_WBMP=>'WBMP'
   
);

    foreach (
$aPossibleImageTypeBits as $iImageTypeBits => $sImageTypeString) {
        if (
imagetypes() & $iImageTypeBits) {
           
$aSupportedTypes[] = $sImageTypeString;
        }
    }

    return
$aSupportedTypes;
}
?>
jocke at selincite dot IHATESP4M dot com
16.10.2003 23:56
I wrote this function that returns an array with the supported image types

<?php
function getSupportedImageTypes() {
       
$aSupportedTypes = array();
       
       
$aPossibleImageTypeBits = array(
               
"IMG_GIF",
               
"IMG_JPG",
               
"IMG_PNG",
               
"IMG_WBMP"
           
);
           
        foreach (
$aPossibleImageTypeBits as $iIndex => $sImageTypeBits) {
           
           
$sEval  = "if (";
           
$sEval .= "imagetypes() & " . $sImageTypeBits . "";
           
$sEval .= ") { return TRUE; } else { return FALSE; }";
           
            if (eval(
$sEval)) {
               
$aSupportedTypes[] = str_replace("IMG_", "", $sImageTypeBits);
            }
        }
       
        return
$aSupportedTypes;
    }
?>
Hope that helps someone :)

/Jocke Selin

PS, if you know of a better way that doesn't include eval(), please let me know.
jaldinger (at) consulturdorado (dot) com
8.01.2003 21:31
Please note that if only "GIF Read Support" is enabled, the
IMG_GIF bit will not be returned (at least on my system:
PHP 4.3.0/RH Linux 7.2).

To work around this issue, and also the issue that there is no
function that can tell me what image format a GD resource ID
refers to, I use the following switch statement to map the exif
IMAGETYPE_* constants to the GD IMG_* constants:

switch (exif_imagetype($file['tmp_name'])) {
    case IMAGETYPE_GIF:
        $image_type = IMG_GIF;
        break;
    case IMAGETYPE_JPEG:
        $image_type = IMG_JPG;
        break;
    case IMAGETYPE_PNG:
        $image_type = IMG_PNG;
        break;
    case IMAGETYPE_WBMP:
        $image_type = IMG_WBMP;
        break;
     default:
        $image_type = 0;
        break;
}

store this value together with the image data in a database
and later use the following IF statement to see if I can work
with that image (create a thumbnail, etc...)

if ($image_type & (imagetypes() | IMG_GIF)) {
    return $this->createJpegThumbailFromString($data, 46, 27);
} else {
    return file_get_contents($_SERVER['DOCUMENT_ROOT'] .
        '/gfx/no-thumbnail.jpg');
}

HTH anybody...

Joerg.



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",...)