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

如何测试用户是否已选择要上传的文件?

艾令雪
2023-03-14
问题内容

在页面上,我有:

if (!empty($_FILES['logo']['name'])) {
    $dossier     = 'upload/';
    $fichier     = basename($_FILES['logo']['name']);
    $taille_maxi = 100000;
    $taille      = filesize($_FILES['logo']['tmp_name']);
    $extensions  = array('.png', '.jpg', '.jpeg');
    $extension   = strrchr($_FILES['logo']['name'], '.');

    if(!in_array($extension, $extensions)) {
        $erreur = 'ERROR you  must upload the right type';
    }

    if($taille>$taille_maxi) {
         $erreur = 'too heavy';
    }

    if(!empty($erreur)) {
      // ...
    }
}

问题是,如果用户希望在不上载LOGO的情况下编辑信息,则会引发错误:“必须上载正确的错误类型”

因此,如果用户没有在输入框中放入任何东西来上传它,我就不想输入这些条件测试。

测试if (!empty($_FILES['logo']['name'])if (isset($_FILES['logo']['name'])

但两者似乎都不起作用。

有任何想法吗?

编辑:也许我不太清楚,我不想测试他是否上传了徽标,我想测试如果他选择了要上传的文件,因为现在,如果他没有选择要上传的文件,
php引发错误,提示他必须以正确的格式上传。

谢谢。


问题答案:

您可以使用以下方法进行检查:

if (empty($_FILES['logo']['name'])) {
    // No file was selected for upload, your (re)action goes here
}

或者,您可以使用Javascript结构,仅在上载字段具有除空字符串(“”)之外的其他值时才启用上载/提交按钮,从而避免提交完全不上载的表单。



 类似资料:
  • 本文向大家介绍PHP文件上传判断file是否己选择上传文件的方法,包括了PHP文件上传判断file是否己选择上传文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。具体方法如下: 一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台

  • 问题内容: 我进行某种形式的验证,以确保用户上传的文件的类型正确。但是上载是可选的,因此如果他没有上载任何内容并提交了表单的其余部分,我想跳过验证。我如何检查他是否上传了东西?会工作吗? 问题答案: 您可以使用: 从文档: 如果以filename命名的文件是通过HTTP POST上传的,则返回TRUE。这有助于确保恶意用户没有试图诱使该脚本在不应该对其运行的文件上工作,例如/ etc / pass

  • 问题内容: 控制器: 视图: Javascript: 但是,我得到一个错误 我试图从ajax发布数据和文件,但是它不起作用。我的问题是如何解决该错误?为什么控制器无法读取用户文件的内容? 谢谢 问题答案: 尝试将您的输入内容放入表单并提供id =’your_form_id表单,然后以这种方式在javascript中发送数据: 然后替换这行 有了这个 也设置以下:

  • 问题内容: 我有一个使用方法实现自定义的库,该方法将在调用时触发事件。我想测试该行为的方法。 我的自定义控件: 和测试: 问题在于该方法永远不会被调用,因此无法实现。 问题是:在这种情况下,我们如何进行测试?也许我们需要以某种方式强制运行循环? 编辑1:请注意,由于我正在测试库,因此我的测试目标没有任何主机应用程序。当测试目标具有主机应用程序时,以上测试通过。 问题答案: Apple的UICont

  • 我有一个Django应用程序,其视图接受要上传的文件。使用Django REST框架,我对APIView进行子类化并实现post()方法,如下所示: 现在,我正在尝试编写几个单元测试,以确保需要身份验证,并实际处理上传的文件。 但是当REST框架试图编码请求时,这将失败 如何让测试客户端发送数据而不尝试将其解码为UTF-8?

  • 如果我尝试推送一个大文件(任何超过1MB大小的文件),我的代码最初会被破坏。它现在工作正常,可以通过在属性文件中添加以下内容来适应我想要的文件大小。 但是我如何写一个适当的单元/集成测试,以确保它允许文件大小高达10MB? 下面有一个很好的测试示例(可接受的答案),但它使用模拟文件设置进行测试。使用SpringMVC测试单元测试多部分POST请求 有没有办法模拟并指定文件大小 这是要测试的方法 这