PHP 使用 exif_imagetype() 检查文件是否为 png:
PHP Check if file is png using exif_imagetype():
我试图在上传前检查文件是否为 png,但出现错误
警告:exif_imagetype():文件名不能为空
出于某种原因,它似乎适用于一个文件,但不适用于我尝试过的任何其他文件。
主要是
$image = $_FILES['userImg']['tmp_name'];
if (checkImageValid($image))
{
uploadImage($image);
}
checkImageValid 函数是
function checkImageValid($image)
{
$valid = true;
$imgType = exif_imagetype($image); //error here
if($imgType != IMAGETYPE_PNG)
{
$valid = false;
$_SESSION["imageMessege"] = 'The image You are trying to upload is not of type png';
}
return $valid;
}
从此处的 html 表格中获取
<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
<input type="file" name="userImg" accept="image/x-png"/>
<input type="submit" value="Upload File" name="uploadImage" />
</form>
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
是错误。将值更改为更多,以字节为单位。 10000 字节 = ~10kb。更改为 10000000 约 10MB。
将此行替换为:
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
我测试了它,它适用于任何图像。
我试图在上传前检查文件是否为 png,但出现错误 警告:exif_imagetype():文件名不能为空
出于某种原因,它似乎适用于一个文件,但不适用于我尝试过的任何其他文件。
主要是
$image = $_FILES['userImg']['tmp_name'];
if (checkImageValid($image))
{
uploadImage($image);
}
checkImageValid 函数是
function checkImageValid($image)
{
$valid = true;
$imgType = exif_imagetype($image); //error here
if($imgType != IMAGETYPE_PNG)
{
$valid = false;
$_SESSION["imageMessege"] = 'The image You are trying to upload is not of type png';
}
return $valid;
}
从此处的 html 表格中获取
<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
<input type="file" name="userImg" accept="image/x-png"/>
<input type="submit" value="Upload File" name="uploadImage" />
</form>
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
是错误。将值更改为更多,以字节为单位。 10000 字节 = ~10kb。更改为 10000000 约 10MB。
将此行替换为:
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
我测试了它,它适用于任何图像。