当前位置: 首页 > 面试题库 >

如何查看用户是否用PHP上传了文件?

郎弘壮
2023-03-14
问题内容

我进行某种形式的验证,以确保用户上传的文件的类型正确。但是上载是可选的,因此如果他没有上载任何内容并提交了表单的其余部分,我想跳过验证。我如何检查他是否上传了东西?会$_FILES['myflie']['size'] <=0工作吗?


问题答案:

您可以使用is_uploaded_file()

if(!file_exists($_FILES['myfile']['tmp_name']) || !is_uploaded_file($_FILES['myfile']['tmp_name'])) {
    echo 'No upload';
}

从文档:

如果以filename命名的文件是通过HTTP
POST上传的,则返回TRUE。这有助于确保恶意用户没有试图诱使该脚本在不应该对其运行的文件上工作,例如/ etc / passwd。

如果上传的文件所做的任何事情都可能向用户甚至同一系统上的其他用户透露其内容,则这种检查尤为重要。

编辑:我在FileUpload类中使用它,以防万一:

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


 类似资料:
  • 问题内容: 我在想,如果有可能,以检查是否被启用 的Apache 和 IIS 在 。 *存在用于IIS的 *ModRewrite 。检查一下。 因此,我正在寻找一个在 Apache 和 IIS 上进行检查的PHP脚本 。 有谁知道这样的脚本或可以写一个? 特别是对于Microsoft IIS 。 谢谢! 问题答案: 如果您使用的是mod_php,则可以使用。这将返回所有已启用模块的数组,因此要检查

  • 问题内容: 在页面上,我有: 问题是,如果用户希望在不上载LOGO的情况下编辑信息,则会引发错误:“必须上载正确的错误类型” 因此,如果用户没有在输入框中放入任何东西来上传它,我就不想输入这些条件测试。 我测试: 和 但两者似乎都不起作用。 有任何想法吗? 编辑:也许我不太清楚,我不想测试他是否上传了徽标,我想测试如果他选择了要上传的文件,因为现在,如果他没有选择要上传的文件, php引发错误,提

  • 问题内容: 在我的Web应用程序中,我有一个图像上传模块。我想检查上传的文件是图像文件还是其他文件。我在服务器端使用Java。 图像在Java中读取,然后将其写入磁盘 我应该如何检查,究竟是图像还是其他? 任何建议或链接将不胜感激。 问题答案: 我假设您正在servlet上下文中运行它。如果仅根据文件扩展名检查内容类型是可以承受的,则可使用来获取mime类型(内容类型)。只需检查它是否以开头。 默

  • 问题内容: 在Java中,我有一个程序需要连续检查用户是否按下了键。所以在伪代码中,像 提前致谢! 问题答案: 在Java中,你不检查是否有键被按下,而不是你听到秒。实现目标的正确方法是注册一个,并实现它以维持所需密钥的状态: 然后,您可以随时使用: 当然,您可以使用相同的方法来实现键映射及其包裹在状态中的状态。

  • 我在我的Dart/Flatter应用程序中使用Firebase云消息。下面的代码使用检索到的android通知令牌更新用户文档。 然后,我在我的云函数中读取。非常有效,但我错误地认为如果用户关闭了通知(例如,空或空),令牌将无效。确定是否为我的云应用程序功能启用通知的最佳方法是什么?我在我的搜索中发现了一些命中率,但很多已经过时,或者是针对不同的开发环境。

  • 我正在构建一个对Azure AD进行OAUTH身份验证的Web应用程序。我的意思是,您通过您的Azure AD/Office e365帐户登录我的应用程序。登录成功后,我将Azure AD用户的GUID与我的Mysql数据库中的用户匹配。我在用户登录的会话信息中设置。 我使用这个howto作为它的基础:https://kv AES . WordPress . com/2016/10/21/azur