📜  PHP |想象一下 getImageProperties()函数(1)

📅  最后修改于: 2023-12-03 15:33:35.823000             🧑  作者: Mango

PHP | 想象一下 getImageProperties() 函数

现在的网站上通常会使用大量的图片,因此,处理这些图片的任务也是开发人员必须面对的任务之一。而在 PHP 语言中,通过使用 getImageProperties() 函数,能够很方便地获取到图片的一些基本信息。

函数介绍

getImageProperties() 函数用于获取图片文件的像素信息、色彩信息及其它属性信息。它的语法如下:

getImageProperties($image_file_name [, $return_array]);

参数:

  • $image_file_name:必选,需要处理的图片文件名,可以是本地路径或远程路径。
  • $return_array:可选,指定是否需要返回数组形式的结果,默认为 false

返回值:

如果 $return_arrayfalse,则返回一个类似于数组的对象,包含图片基本信息的属性;如果 $return_arraytrue,则返回一个关联数组,键名即为属性名。

函数使用

以下是一个使用 getImageProperties() 函数获取图片信息的示例代码:

$image = "image.jpg";
$info = getImageProperties($image, true);
echo "图片宽度为:" . $info['width'] . " 像素,高度为:" . $info['height'] . " 像素。";

以上代码将返回这张图片的宽度和高度。

函数属性

下面是可用的图片属性列表:

  • width:图片宽度。
  • height:图片高度。
  • imagetype:图片类型,例如:JPEG、GIF、PNG 等。
  • bits:图片色深(位元)。
  • channels:图片的通道数,可用于判断是否为真彩色图片。
/**
* Fetch image information.
*
* @param string $image_file      Image file name or url.
* @param bool   $return_array    Flag indicating whether to return in array form.
*
* @return object|bool|array False on failure, object (array-like) or array on success, depending on $return_array.
*/
function getImageProperties($image_file, $return_array = false) {
    if (file_exists($image_file) === false && filter_var($image_file, FILTER_VALIDATE_URL) === false) {
        return false;
    }
    if ($return_array) {
        return getimagesize($image_file);
    } else {
        $img_info = new stdClass();
        list($img_info->width, $img_info->height, $img_info->imagetype, $img_info->bits, $img_info->channels) = getimagesize($image_file);

        return $img_info;
    }
}

以上即为 getImageProperties() 函数的实现代码,可以通过调用该函数来获取图片的基本属性信息,并且支持返回数组形式的结果。