当使用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中是否有一个本机函数/速记来接管这个令人讨厌的长文件检查每个文件类型的开关?似乎这是一种常见的情况,但没有更简单的方法来做到这一点...
答案 0 :(得分:1)
几乎。不是来自mime类型,而是来自流本身:
imagecreatefromstring(file_get_contents($source_image))
imagecreatefromstring()
返回表示从给定image
获取的图像的图像标识符。如果PHP的构建支持它们,将自动检测这些类型:JPEG,PNG,GIF,WBMP和GD2。