Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用exif_imagetype()检查文件是否为png:_Php_Image_Png - Fatal编程技术网

PHP使用exif_imagetype()检查文件是否为png:

PHP使用exif_imagetype()检查文件是否为png:,php,image,png,Php,Image,Png,我试图在上传前检查一个文件是否为png,我得到了错误 警告:exif_imagetype():文件名不能为空 出于某种原因,它似乎可以处理一个文件,但无法处理我尝试过的任何其他文件 主要是 $image = $_FILES['userImg']['tmp_name']; if (checkImageValid($image)) { uploadImage($image); } checkImageValid函数是 function checkImageValid($image) {

我试图在上传前检查一个文件是否为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>


这是一个错误。将值更改为“更多”,以字节为单位。10000字节=~10kb。将~10MB的容量更改为10000000

将该行替换为以下内容:

<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />

我对它进行了测试,它对任何图像都适用。


这是一个错误。将值更改为“更多”,以字节为单位。10000字节=~10kb。将~10MB的容量更改为10000000

将该行替换为以下内容:

<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />


我对它进行了测试,它对任何图像都适用。

当你回显
$\u文件['userImg']['tmp\u name']时,你会得到什么?您能否
var\u dump($image)
以确保它包含任何内容尝试
($\u文件['userImg']['type']=='image/png')
exif\u imagetype()
如果不是图像,则返回false。您确定要向其提供图像/文件吗?尝试
var\u dump($image)
并查看它是什么。可能是一个字符串或什么的。是的,这肯定是一个图像,我从html表单中得到它,我将在这里发布edit@MariusBegby不,这会产生更多错误当你回显
$\u文件['userImg']['tmp\u name']时,你会得到什么?您能否
var\u dump($image)
以确保它包含任何内容尝试
($\u文件['userImg']['type']=='image/png')
exif\u imagetype()
如果不是图像,则返回false。您确定要向其提供图像/文件吗?尝试
var\u dump($image)
并查看它是什么。可能是一个字符串或什么的。是的,这肯定是一个图像,我从html表单中得到它,我将在这里发布edit@MariusBegby不,这给出了更多的错误我认为它是以千字节为单位的:p好的,尽管堆栈溢出告诉我不要说谢谢,但我还是说谢谢,试图解决这个问题占用了我一天的大部分时间。谢谢:)我以为它是以千字节为单位的:p好的,尽管堆栈溢出告诉我不要说谢谢,但我还是在说谢谢,试图解决这个问题占用了我一天的大部分时间。谢谢:)