ReactingToAngularVues
1
php
png
mime
file-type
我正在使用PHP将图像处理成缩略图,我允许通过以下3种单独的扩展类型:.jpg,.jpeg和.png ...前2个,后者必须通过不同的功能处理,即分别是createimagefromjpg()和createimagefrompng().
我正在抓取图像的文件扩展名,然后使用if语句检查它是哪种文件类型,以便正确处理它:
$extension = pathinfo($filename, PATHINFO_EXTENSION);
// Read source image
if ($extension == ('jpg' || 'jpeg')) {
$source_image = imagecreatefromjpeg($filename);
return '1';
} else if ($extension == 'png') {
$source_image = imagecreatefrompng($filename);
return '2';
} else {
return 'error';
}
jpg和jpeg图像处理正确,因为此函数返回1 ...所以一切似乎都很好.但是,当我通过png文件时,它同样进入第一个分支并返回'1',即使png!= jpeg或jpg.奇怪的.此错误导致我的缩略图根本无法生成.
它变得更加令人困惑.如果我启用严格的比较替换==用===在IF statemtn,JPG和JPEG文件报错了完全说明,显然"JPG"!="JPG"(即使它),并同样与JPEG格式.PNG文件完全破坏了脚本.
编辑:问题似乎不是我的IF语句,而是imagecreatefrompng()功能.它适用于小图像(200x200),但不适用于较大的图像......任何人都可以解释这个吗?