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

2024-01-09

在页面上,我有:

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']) and if (isset($_FILES['logo']['name'])

但两者似乎都不起作用。

有任何想法吗?

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

thanks.


您可以通过以下方式检查:

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

或者,您可以使用 JavaScript 构造,仅在上传字段具有空字符串 ("") 以外的值时才启用上传/提交按钮,以避免在根本不上传的情况下提交表单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何测试用户是否选择了要上传的文件? 的相关文章

  • 将 OAuth WRAP 访问令牌直接保存在客户端计算机上的 cookie 中吗?

    我计划建立一个可以访问 oauth 包装框架的网站 我正在考虑将访问令牌按原样存储在客户端计算机上 我不想在服务器上维护临时令牌等数据库 我应该做吗 或者我应该加密它 首先 为什么他们不使用 OAuth 2 0 您可以将 OAuth 凭据存
  • 如何仅删除页面的自动段落格式,而不删除帖子的自动段落格式(WordPress)

    我已经熟悉这个在 WordPress 中删除自动段落格式的小技巧 remove filter the content wpautop remove filter the excerpt wpautop 但是添加这个函数 php删除整个网站的
  • 发送变量后的 wsdl 服务响应,php

    我是 SOAP WSDL 函数的新手 我有一位客户从一家从事汽车测试的公司获得了 wsdl 文件 我的客户是他们的分包商 他们告诉我们上传有关车牌 类别等信息 一旦详细信息发送完毕 服务器就会做出成功或失败的响应 请您协助 浏览不同的信息
  • PHP:将多字节字符串(单词)拆分为单独的字符

    尝试使用 mb split 将这个字符串 主楼怎么走 分割成单独的字符 我需要一个数组 但没有成功 有什么建议吗 谢谢你 例如 尝试使用带有 u 选项的正则表达式 chars preg split u string 1 PREG SPLIT
  • 使用 phpdocx 下载损坏的 .docx

    我有一个项目 我们使用 phpdocx pro 在模板中生成 docx 文件 我可以很容易地将数据输入到模板中 但是当下载文件并在 MS Word 2010 中打开时 程序报告无法打开文件 因为内容存在问题 详细信息是 文件已损坏 并且无法
  • 解析错误:语法错误,意外的 T_RETURN [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 遇到这个问
  • 自定义帖子类型的 WordPress 自定义字段

    过去有几个人出现过这个问题 但他们的问题的解决方案对我来说不起作用 我已经尝试了很多 在 WordPress 中 我创建了 3 种自定义帖子类型 1 代表 视频 新闻 和 音乐 每个内容都发布到自己的页面 我想添加自定义字段 这样我就可以为
  • 在 Laravel 中的编辑表单上获取选定选项

    我的网站订单有一个可编辑的表单 并且有以下字段 User quantity note status 我在此表单中还有其他选项 但只有这些字段对我来说很重要 以便能够获取默认值 例如 我希望能够查看用户默认订购的数量 然后我可以更改它或保留它
  • php基于onclick函数输入日期类型

    用户选择日期 月份和年份 然后按一个按钮 根据他选择的日期向他显示数据库的值 不知道代码问题出在哪里
  • PHP DOM - 剥离 span 标签,保留其内容

    我希望采用如下标记 span class test Some text that is strong bolded strong and contains a a href link a span 并在 PHP 中找到剥离跨度的最佳方法 剩
  • yii2 中的自动完成

    在 Yii2 中 我希望当用户开始输入时 我的输入字段之一能够自动完成 下面是我的代码 它使用Jui Autocomplete 这是行不通的 当我打印我的数组时 我就像 Array 1 gt abc 2 gt xyz 4 gt pqr
  • 带 url 参数的 Laravel post 路由

    我面临着幼虫路由的大墙 我似乎找不到解决方案 我在视图模板中有此表单
  • 付款成功后保存到数据库(paypal)

    我试图找出在客户使用 paypal 支付商品费用后将数据 之前以表单提交 保存到数据库的最佳方法 沿着这个过程的一些事情 1 在实际网站上填写表格 gt 2 登录 Paypal gt 3 立即付款 PayPal gt 4 数据已插入数据库
  • 当我使用 session_start() 时,Xampp 7.0.1 Apache 崩溃

    当我在 PHP 中使用 session start 启动会话时 我的 Apache 服务器停止工作 我正在使用 Windows 版 Xampp 7 0 1 我的配置文件如下所示 即使我把它放在文件的第一行 它也不起作用 有人知道如何解决这个
  • Paypal 将钱从一个帐户转移到另一个帐户

    我知道这个建议如何汇款至任何 PayPal 账户 https stackoverflow com questions 1559808 paypal api send money to any paypal account但到目前为止我所尝试
  • PHP Intl 扩展线程安全吗?

    我一直在阅读有关 PHP 中的语言环境的内容 看起来setlocale 线程有问题 我对线程不太熟悉 文档提到它不是线程安全的 我想让我的项目能够处理某些数字格式 并且 Intl 扩展似乎很有趣 http php net manual en
  • PHP switch case 在 case 中存在多个值

    我有一个变量保存值 每周 每月 季度 和 年度 还有另一个变量保存值从 1 到 10 switch var2 case 1 var3 Weekly break case 2 var3 Weekly break case 3 var3 Mon
  • php date_parse("2010 年 2 月") 给出日期 == 1

    当没有日期时 我将其称为 date parse 中的错误 d date parse Feb 2010 会给 d day 1 请参阅对此的评论date parse 手册页 http php net manual en function dat
  • 在 PHP 中接受带有小数点和千位分隔符的国际数字

    对于用户可以输入能量值来计算相应费用的在线计算器 我需要 PHP 脚本来接受各种用户输入 200 万又四分之一焦耳 的值可以输入为 2000000 25 默认表示法 2 000 000 25 带千位分隔符 2000000 25 逗号作为小数
  • PHP 共享标头而不使用服务器端脚本?

    到目前为止我总是通过 PHP 解决简单的问题 您有一个包含页眉 菜单 页脚和内容字段的网站 每个页面的页眉 菜单和页脚通常是相同的 在没有 PHP 或任何其他服务器端语言的情况下 如何使页眉 菜单和页脚数据仅存在于一个文件中 例如 您不会有

随机推荐

  • Go - 生成 SSH 公钥

    我正在尝试生成一个用于 Go 中 SSH 的密钥对 我似乎正在很好地创建私钥 尽管我不知道如何以正确的格式生成公钥 这是代码 privateKey err rsa GenerateKey rand Reader 2014 if err ni
  • 递归 CTE 查找所有项目的所有祖先

    我有一个简单的层次结构 需要能够生成一个表 将表中的每个项目与其所有祖先相匹配 大写强调这不是一个重复的问题 所以这是一个表 Select Item A Parent null into Items union Select Item B
  • 更改下拉菜单更改的可观察值 Knockout Js

    我有一个下拉菜单 其中包含车辆是新车还是二手车的选项
  • 我可以在同一项目中引用 dll 的两个版本而不将它们放入 GAC 中吗?

    我可以在同一项目中引用 dll 的两个版本而不将它们放入 GAC 中吗 Thanks 你有两个问题 第一个是编译您的应用程序 您有两个程序集引用 其中包含具有相同命名空间名称和类型名称的类型 编译器将不知道选择哪一个 您可以通过使用 外部别
  • 构建 Rails 表单来过滤索引页?

    大家好 我在过滤系统中数千个贸易项目的显示时遇到了问题 根据我们正在构建的系统的规格 我们必须有一个表单 允许人们输入开始日期 然后输入以分钟为单位的间隔 以过滤项目的呈现 我已经构建了辅助函数来返回该间隔期内的所有交易 但我一生都无法正确
  • 如何检查列是否已经是外键?

    我有名为 Person 的表和名为 ID 的列 如何检查 ID 是否已经是外键 因为我想用以下代码来实现 ALTER TABLE Person ADD FOREIGN KEY ID REFERENCES Job ID ON DELETE C
  • 如何使用 String.format 将字符串居中?

    public class Divers public static void main String args String format 1 10s 2 10s 3 20s n System out format format First
  • 谷歌地图 v3 热图在页面加载时不显示

    我有一个映射页面 它检索 json 响应并创建相关的点数组来加载热图 所有这些都在所需的初始化查询中 该查询在 jquery document ready 中调用 但奇怪的是 所有外部数据都返回正常并且填充正常 点数组也正常 但是 当我在热
  • Linux 上的 MS SQL Server 通过 PHP 提供非模拟预准备语句支持

    Summary 我正在尝试使用准备好的语句来停止 SQL 注入 但无法找到保证其正常工作所需的支持 Scenario 我在 Linux 上托管一个站点 该站点使用 FreeTDS 版本 0 91 连接到 Microsoft SQL Serv
  • 我什么时候真正需要在 Inno Setup 中使用 ScaleX 和 ScaleY 函数?

    这是文档ScaleX功能 ScaleX https jrsoftware org ishelp topic isxfunc scalex htm 同样的事情是为了ScaleY ScaleY https jrsoftware org ishe
  • Redis 连接池 + Node.js

    Node js 异步 I O 是否需要 Redis 连接池 我看到的大多数 Redis 库都允许您创建客户端连接 但连接池模块并不多 因此我认为它并不那么重要 让我困惑的一件事是 Redis 在一个 Redis 实例中默认有 16 个不同
  • 如何使用 PHP 将 .pdf 文件作为 BLOB 存储到 MySQL 中?

    如何从 PHP 将 pdf 文件作为 BLOB 存储到 MySQL 中 编辑添加 以下代码已过时 无法在 PHP 7 中运行 有关更多详细信息 请参阅答案底部的注释 假设一个由整数 ID 和 blob DATA 列组成的表结构 并假设 My
  • 适用于 x64 的 SQLite3.dll

    从下载sqlite org 下载 https www sqlite org download html 他们提供适用于 Windows 的预编译二进制文件适用于 x86 和 x64 所以 下载的是 def文件和一个 dll文件 使用这两个文
  • 单击侦听器上的通知 RemoteView

    所以 经过一番绞尽脑汁之后 我已经无计可施了 我有一个媒体播放器RemoteViews在我的通知中 我希望能够访问播放 暂停 上一个和下一个按钮 我知道setOnClickPendingIntent 将用于通过通知进行通信 然而 我想知道这
  • 如何从 NSString 中提取/拆分数字和字符串

    我有一个 NSString text randomtext12345 文本字符串始终以 string 未知长度 开头 后跟 number 整数类型 文本之间没有 分隔符 如何检测哪个是字符串还是整数 为了提取 分离 分离出文本成为 NSSt
  • 空节点的非法自关闭节点表示法 - 使用 PHP DOMDocument 输出 XHTML

    我正在 PHP 中使用 XPATH 处理符合 XML 的 XHTML 输入 如下所示 xml new DOMDocument xml gt loadXML utf8 encode temp temp utf8 decode xml gt s
  • 执行到 pod 的 kubernetes RBAC 角色动词

    我的 1 9 集群为开发用户创建了这个部署角色 部署按预期进行 现在我想向开发人员授予执行和日志访问权限 我需要为 pod 添加什么角色 kind Role name deployment manager rules apiGroups e
  • Python del 语句

    Calling delPython 中的变量 这是立即释放分配的内存还是仍在等待垃圾收集器收集 就像在java中一样 显式调用del对何时释放内存没有影响 del 语句不回收内存 它删除引用 从而减少该值的引用计数 如果计数为零 则可以回收
  • 如何在 SonarQube Scanner for Jenkins 中设置 sonar.projectBaseDir?

    我尝试分析 Jenkins 中多模块项目的一个模块SonarQube 扫描仪 https plugins jenkins io sonar插件 2 5 版 不幸的是 Jenkins 选择了错误的模块作为工作目录 在这种特殊情况下 我可以更改
  • 如何测试用户是否选择了要上传的文件?

    在页面上 我有 if empty FILES logo name dossier upload fichier basename FILES logo name taille maxi 100000 taille filesize FILE