首页 >后端开发 >php教程 >即使上传是可选的,如何确定用户是否已在 PHP 中上传文件?

即使上传是可选的,如何确定用户是否已在 PHP 中上传文件?

Barbara Streisand
Barbara Streisand原创
2024-11-02 19:03:02516浏览

How Can You Determine if a User Has Uploaded a File in PHP, Even if the Upload is Optional?

在 PHP 中检查用户文件上传

如何确定用户是否已在 PHP 中上传文件,即使上传是可选的?

解决方案:

1.使用 is_uploaded_file()

要检查文件是否已上传,请使用:

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

is_uploaded_file() 确保文件是通过 HTTP POST 上传并防止恶意上传。

2。带有 FileUpload() 方法的 FileUpload 类

在 FileUpload 类中,您可以实现 fileUploaded() 方法:

<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>

此方法检查 POST 中是否有任何文件请求,如果文件不存在或未上传,则返回 false。如果文件丢失,它会设置一个错误标志;如果文件上传成功,它会返回 true。

以上是即使上传是可选的,如何确定用户是否已在 PHP 中上传文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn