PHP $_FILES的应用

关于文件上传这块,如果处理不好的话,很容易成为黑客入侵的开口,例如黑客在你这个上传接口里放一段木马的文件,那只能祝你好运了。

所以,我们上传文件的时候都会先判断,

但是一般的操作是先上传,再判断,如果你是这样的话,那只能祝你好运了。

所有,我们要在文件上传之前就要进行判断!!!

我们可以利用一下$_FILES这个函数。

$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。 

这个只是临时文件,在代码运行结束的时候他就会自动关掉。

所有你可以在文件上传前,先用着临时文件进行判断,如:

    //判断图片长度和宽度是否1:1关系
    public static function ImgProportion()
    {
        $image = new ThinkImage();
        $image->open($_FILES['file']['tmp_name']);
        $size = $image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度

        if ($size[0]/$size[1] == 1)
        {
            return true;
        }

        return false;
    }

或者转成base64位都可以,你喜欢就好。

原文地址:https://www.cnblogs.com/laijinquan/p/10763988.html