此脚本自动将上传的图像类型JPG
更改为JPEG
怎么预防?我不想改变图像类型。
if (is_uploaded_file($_FILES['myfile']['tmp_name']) && ($_FILES["myfile"]["size"] <= 8192 * 1 * 8192)) {
$enabled = array(
IMAGETYPE_PNG,
IMAGETYPE_JPEG
);
list($width, $height, $extension) = getimagesize($_FILES['myfile']['tmp_name']);
if (in_array($extension, $enabled)) {
$ext = image_type_to_extension($extension, true);
$newname = $username . $id . '-' . time() . $ext;
$imglink = $upload_folder . '/' . $newname;
if (@move_uploaded_file($_FILES['myfile']['tmp_name'], "$upload_folder/" . $newname))
$result = 1;
从文件数据中提取原始扩展名,而不是image_type_to_extension
替换这一行
$ext = image_type_to_extension($extension, true);
有了这个
$ext = "." . strtolower(pathinfo($_FILES['myfile']["name"],PATHINFO_EXTENSION));
编辑:允许JPG
扩展您必须在确认图像是getimagesize()
的真实图像文件后进行自己的检查。
$allowedExtensions = ['jpg','png','jpeg'];
if(in_array($ext, $allowedExtensions)){
//it's an allowed extension
}