首页 > 后端开发 > php教程 > 如何可靠地确定 PHP 中的文件是否已上传?

如何可靠地确定 PHP 中的文件是否已上传?

DDD
发布: 2024-11-01 06:19:31
原创
902 人浏览过

How to Reliably Determine if a File Was Uploaded in PHP?

在 PHP 中评估用户文件上传

验证用户输入时,确保文件上传的完整性至关重要。但是,某些表单可能允许可选上传。在这种情况下,跳过对尚未提交文件的用户的验证至关重要。

确定文件上传存在

要检查文件是否已上传,请使用 $_FILES ['myfile']['size']

使用 is_uploaded_file()

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

正如官方文档所解释的,这个函数:

  • 确保文件是通过 HTTP POST 方法上传的。
  • 防止恶意尝试访问意外文件。

示例实现

考虑 FileUpload 类中的示例:

<code class="php">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>
登录后复制

此方法首先检查 $_FILES 数组是否为空。如果没有,它会检索上传的文件并使用 file_exists() 验证其存在。最后,is_uploaded_file() 确认文件是否确实上传。

以上是如何可靠地确定 PHP 中的文件是否已上传?的详细内容。更多信息请关注PHP中文网其他相关文章!

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