PHP ImageMagick getImageType 返回数组...如何与类型关联?

发布于 2024-11-01 03:23:34 字数 226 浏览 1 评论 0原文

PHP ImageMagick 函数 getImageType 返回一个数组号,但我找不到任何有关如何实际将其与类型关联的文档。

我需要知道它是否是 png、jpg、gif 等......

$image = new Imagick("test.png");
$ext = $image->getImageType();

// prints 6
echo $ext

The PHP ImageMagick function getImageType returns an array number, but I can't find any documentation as to how to actually associate this with a type.

I need to know if it's a png, jpg, gif, etc...

$image = new Imagick("test.png");
$ext = $image->getImageType();

// prints 6
echo $ext

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

雪落纷纷 2024-11-08 03:23:34

我建议这种方式对我来说效果很好

    $image = new Imagick('image.gif');
    $image->getImageFormat();
    echo $image; // output GIF

I suggest this way which works fine for me

    $image = new Imagick('image.gif');
    $image->getImageFormat();
    echo $image; // output GIF
分开我的手 2024-11-08 03:23:34

您可以使用getimagesize来获取图像大小和类型。图像类型在索引 pos 2 处返回。

1 = GIF、2 = JPG、3 = PNG、4 = SWF、5 = PSD、6 = BMP、7 = TIFF(orden de bytes intel)、8 = TIFF(orden de bytes)摩托罗拉),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。

getimagesize() 的 PHP 文档 - http://php.net /manual/en/function.getimagesize.php

用法示例:

list($width, $height, $type) = getimagesize('herp-derp.png');
echo $type;

编辑:来自 phpdoc 注释的有用注释....

In addition to thomporter's quick-reference of the output array, here's what PHP 4.4.0 does:

Array[0] = Width 
Array[1] = Height
Array[2] = Image Type Flag
Array[3] = width="xxx" height="xxx"
Array[bits] = bits
Array[channels] = channels
Array[mime] = mime-type

编辑: getImageType 返回 IMAGICK_TYPE_* 常量之一 (http://www.phpf1.com/manual/imagick-getimagetype.html)。您可以在这里找到常量列表 - http://php.net/manual/en/ imagick.constants.php

IMGTYPE 常量

imagick::IMGTYPE_UNDEFINED(整数)
imagick::IMGTYPE_BILEVEL(整数)
imagick::IMGTYPE_GRAYSCALE(整数)
imagick::IMGTYPE_GRAYSCALEMATTE(整数)
imagick::IMGTYPE_PALETTE(整数)
imagick::IMGTYPE_PALETTEMATTE(整数)
imagick::IMGTYPE_TRUECOLOR(整数)
imagick::IMGTYPE_TRUECOLORMATTE(整数)
imagick::IMGTYPE_COLORSEPARATION(整数)
imagick::IMGTYPE_COLORSEPARATIONMATTE(整数)
imagick::IMGTYPE_OPTIMIZE(整数)

You could use getimagesizeto get the image size and type. Image type is return at index pos 2.

1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(orden de bytes intel), 8 = TIFF(orden de bytes motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM.

Php doc for getimagesize() - http://php.net/manual/en/function.getimagesize.php

Example usage:

list($width, $height, $type) = getimagesize('herp-derp.png');
echo $type;

Edit: Useful comment from phpdoc notes....

In addition to thomporter's quick-reference of the output array, here's what PHP 4.4.0 does:

Array[0] = Width 
Array[1] = Height
Array[2] = Image Type Flag
Array[3] = width="xxx" height="xxx"
Array[bits] = bits
Array[channels] = channels
Array[mime] = mime-type

Edit: getImageType returns one of IMAGICK_TYPE_* constants (http://www.phpf1.com/manual/imagick-getimagetype.html). You can find the list of constants here - http://php.net/manual/en/imagick.constants.php .

IMGTYPE constants

imagick::IMGTYPE_UNDEFINED (integer)
imagick::IMGTYPE_BILEVEL (integer)
imagick::IMGTYPE_GRAYSCALE (integer)
imagick::IMGTYPE_GRAYSCALEMATTE (integer)
imagick::IMGTYPE_PALETTE (integer)
imagick::IMGTYPE_PALETTEMATTE (integer)
imagick::IMGTYPE_TRUECOLOR (integer)
imagick::IMGTYPE_TRUECOLORMATTE (integer)
imagick::IMGTYPE_COLORSEPARATION (integer)
imagick::IMGTYPE_COLORSEPARATIONMATTE (integer)
imagick::IMGTYPE_OPTIMIZE (integer)

白云不回头 2024-11-08 03:23:34

验证图像的一种快速有效的方法是:

$ identify -format %m image.jpg
JPEG

在 PHP 中:

<?php
// If its not a valid image, returns an empty string.
$image_type = exec('identify -format %m image.jpg');
?>

有关使用 -format 的更多信息:imagemagick 格式

A good and quick way to validate images is:

$ identify -format %m image.jpg
JPEG

in PHP:

<?php
// If its not a valid image, returns an empty string.
$image_type = exec('identify -format %m image.jpg');
?>

More about using -format: imagemagick formats

独自←快乐 2024-11-08 03:23:34

如果按照此页面成功, getImageType() 将返回一个数组。

http://php.net/manual/en/function.imagick-getimagetype.php

也许尝试 $ext 的 vardump 或 print_r ?

getImageType() returns an array if it's successful as per this page.

http://php.net/manual/en/function.imagick-getimagetype.php

maybe try a vardump or a print_r of $ext?

小镇女孩 2024-11-08 03:23:34

这是我能为您做的最好的事情,这将为您提供扩展名,您可以在加载图像之前先使用它

$path_parts  = pathinfo("test.png");
echo $path_parts ['extension'];

this is the best I could do for you this will give you the extension and you can use that first before you load image

$path_parts  = pathinfo("test.png");
echo $path_parts ['extension'];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文