文字

imagetypes

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

imagetypes返回当前 PHP 版本所支持的图像类型

说明

int imagetypes ( void )

本函数以比特字段方式返回与当前 PHP 版本关联的 GD 库所支持的图像格式。将返回以下结果, IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM 。 例如要检查是否支持 PNG,这样做:

Example #1 imagetypes() 例子

<?php
if ( imagetypes () &  IMG_PNG ) {
    echo 
"PNG Support is enabled" ;
}
?>

用户评论:

[#1] ThunderCrew [2007-07-30 19:38:32]

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) }

[#2] enyo [2003-11-05 19:32:12]

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;
}
?>

[#3] jaldinger (at) consulturdorado (dot) com [2003-01-08 12:31:14]

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.

上一篇: 下一篇: