PHP中的imagecreatefromjpeg()/ png / gif / etc中是否有所有文件类型的简写?

时间:2015-07-26 00:23:33

标签: php image gd

当使用PHP的imagecreatefromXXX() - 方法时,我总是编写像这样烦人的长结构(这里为了更好的可读性而优化了换行符),其中基本上每行和每个使用的函数完全相同。看起来像可以优化的方案:

switch ($mimeType) {
    case 'image/jpeg': $myImage = imagecreatefromjpeg($source_image); break;
    case 'image/png': $myImage = imagecreatefrompng($source_image); break;
    case 'image/gif': $myImage = imagecreatefromgif($source_image); break;
    // ... and so on, for every possible filetype
    }

问题:

PHP中是否有一个本机函数/速记来接管这个令人讨厌的长文件检查每个文件类型的开关?似乎这是一种常见的情况,但没有更简单的方法来做到这一点...

1 个答案:

答案 0 :(得分:1)

几乎。不是来自mime类型,而是来自流本身:

imagecreatefromstring(file_get_contents($source_image))
  

imagecreatefromstring()返回表示从给定image获取的图像的图像标识符。如果PHP的构建支持它们,将自动检测这些类型:JPEG,PNG,GIF,WBMP和GD2。

(manual)