如何验证文件是否是用 PHP 上传的?

DDD
发布: 2024-10-31 06:25:02
原创
909 人浏览过

How Can I Verify If a File Was Uploaded in PHP?

PHP 文件上传可选检查

执行表单验证时,验证用户是否已上传文件至关重要,尤其是当上传是可选的时。忽视这一点可能会导致不必要的验证工作,从而可能危及安全性。

检查文件上传状态

要确定文件是否已上传,您可以使用 is_uploaded_file() 函数。如果指定的文件是通过 HTTP POST 请求上传的,则此函数返回 TRUE。这是防止恶意行为者利用脚本对他们不应访问的文件进行操作的关键步骤。

<code class="php">if (!file_exists($_FILES['myfile']['tmp_name']) || !is_uploaded_file($_FILES['myfile']['tmp_name'])) {
    echo 'No upload';
}</code>
登录后复制

此代码段检查名为 myfile 的文件是否存在,然后确认其上传状态。如果任一条件失败,则表明没有上传文件。

使用 FileUpload 类

在更复杂的场景中,您可以使用类来封装文件上传过程。下面是一个示例:

<code class="php">class FileUpload {
    // ... (other methods here)

    public function fileUploaded() {
        if (empty($_FILES)) {
            return false;
        }
        $this->file = $_FILES[$this->formField];
        if (!file_exists($this->file['tmp_name']) || !is_uploaded_file($this->file['tmp_name'])) {
            $this->errors['FileNotExists'] = true;
            return false;
        }
        return true;
    }
}</code>
登录后复制

此类提供了一种便捷的方法来确定文件的存在和上传状态,并在内部处理必要的检查。

以上是如何验证文件是否是用 PHP 上传的?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板