检测上传的文件是否太大

2024-02-22

这是我的上传表单:

<form action="uploads.php" method="post" enctype="multipart/form-data">
    <input name="fileupload" type="file" multiple>
    <button>Upload</button>
</form>

我的最大上传大小设置如下:

; Maximum allowed size for uploaded files.
upload_max_filesize = 5M

; Must be greater than or equal to upload_max_filesize
post_max_size = 5M

如果我上传大于5M的文件var_dump($_FILES)是空的。我可以这样做:

if($_FILES){
    echo "Upload done!";
}

$_FILES如果文件大于 5M,则不设置。但这有点奇怪。你会怎么做?

EDIT:

超过5M文件的var_dump:

array(0) {
}

文件

array(1) {
  ["fileupload"]=>
  array(5) {
    ["name"]=>
    string(13) "netzerk12.pdf"
    ["type"]=>
    string(15) "application/pdf"
    ["tmp_name"]=>
    string(22) "/tmp/uploads/phpWhm8M0"
    ["error"]=>
    int(0)
    ["size"]=>
    int(352361)
  }
}

你可以检查$_SERVER['CONTENT_LENGTH']:

// check that post_max_size has not been reached
// convert_to_bytes is the function turn `5M` to bytes because $_SERVER['CONTENT_LENGTH'] is in bytes.
if (isset($_SERVER['CONTENT_LENGTH']) 
    && (int) $_SERVER['CONTENT_LENGTH'] > convert_to_bytes(ini_get('post_max_size'))) 
{
  // ... with your logic
  throw new Exception('File too large!');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测上传的文件是否太大 的相关文章

  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • 无法访问 localhost/xampp/index.php

    我刚刚安装了 Windows 7 的 XAMPP 控制面板似乎工作正常 我启动了 MySql 和 Apache 我遇到的问题是 当我在浏览器 Google Chrome 中输入 localhost 时 它会将我发送到 http localh
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • 您的要求无法解析为 laravel 的一组可安装软件包

    我使用 5 7v Laravel 和 7 2 1v PHP 和 Composer 最新版本 但是当我想创建新项目时出现这些错误 Your requirements could not be resolved to an installabl
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • PHP 编码风格回归;在开关/外壳中

    我们正在尝试为我们的团队实施新的编码风格指南 当未找到 break 时 php codeniffer 会在 switch case 语句上打印警告 如下所示 switch foo case 1 return 1 case 2 return
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 字符串相似度的算法(比Levenshtein和similar_text更好)? php, Js

    在哪里可以找到比 levenshtein 和 phpimilar text 方法更准确地评估错误字符的拼写的算法 Example similar text jonas xxjon similar echo similar returns 6

随机推荐

  • 在 C++ 中扩展枚举?

    C 有没有办法扩展 继承 枚举 I E enum Enum A B C enum EnumEx public Enum D E F 或者至少定义它们之间的转换 不 那里没有 enum确实是 C 中的可怜之处 这当然是不幸的 即便是class
  • 包含conj的接口?

    作为练习 我正在开发一个类似于 Vector 的数据结构 我已经实现了 IPercientVector 扩展的所有接口 但我还没有找到定义 conj 的接口 那是哪个界面 谢谢 clojure lang IPersistentCollect
  • 与push()相反; [复制]

    这个问题在这里已经有答案了 JavaScript 的反义词是什么push method 假设我有一个数组 var exampleArray remove 我想要push 这个单词 keep exampleArray push keep 如何
  • “职称级别不一致”是什么意思?

    我在我的文档版本中收到了各种 标题级别不一致 的警告 据我所知 我有一个一致的结构 如下所示 Big Title Section Subsection 但该错误与自动生成相关 automodapi 我无法找到的文本 Classes 我怎样才
  • WP7从Tombstone恢复并返回页面

    从逻辑删除恢复时 是否有一种很好 优雅的方式返回用户所在的页面 我不确定我的应用程序是否正常工作 但我总是回到我的主页 我的应用程序设置了一个带有枢轴控件的主页 并且多个枢轴项目将导航到新页面 如果有意义的话 我的导航看起来像这样 数据透视
  • 谷歌放置自动完成API Android:边界不起作用

    我定义我的界限如下 private static final LatLngBounds BOUNDS CHENNAI new LatLngBounds new LatLng 12 8339547 80 0817007 new LatLng
  • Kubernetes 自动缩放容器

    是否可以自动缩放 docker 容器 其中包含 kubernetes 内的应用程序服务器 如 wildfly tomcat jetty 例如在 cpu 和 ram 使用或基于 http 请求 如果有一个内置功能 我找不到它 或者是否可以为此
  • 使用 PHP 实现 2 路加密的最佳方法是什么?

    我想在 PHP 中使用双向加密来加密我网站上的密码 我遇到过 mcrypt 库 但它看起来很麻烦 有人知道其他更简单但安全的方法吗 我确实可以访问 Zend Framework 因此使用它的解决方案也可以 我实际上需要双向加密 因为我的客户
  • 使用 ThreadStatic 来替换昂贵的本地变量——好主意吗?

    Update 正如我预料的那样 社区针对这个问题给出的合理建议是 衡量一下然后看看 chibacity 发布了 答案 https stackoverflow com questions 4864974 using threadstatic
  • 以编程方式在 Android 中配置第 3 方电子邮件帐户 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 禁用 JQuery 移动 UI 中的哈希更改控制器并替换为backbone.js

    我在用着jQuery 移动用户界面widgit 套件很不错 不过我也使用backbone js 它带有一个非常简洁的hashchange 控制器框架 问题是 JQuery Mobile UI 有一个内置的蹩脚哈希更改控制器 它假设您会alw
  • jQuery 缓动函数中有哪些不同的参数

    我看到 jQuery 的缓动函数位于https github com danro jquery easing blob master jquery easing js https github com danro jquery easing
  • 事务与批量查询以避免重复的 MySQL 插入

    我有一个PHP脚本 deleteAndReInsert php 删除所有行name Bob 然后插入 1000 个新行name Bob 这工作正常 最初的空表最终达到预期的 1000 行 query pdo gt prepare DELET
  • 合并数组中的对象并保留相同属性的最高值

    我有这个数组 我想合并其中的对象 null null 1 1 2 1 3 1 2 2 5 1 我考虑过使用这样的东西 var o1 a 1 b 1 c 1 var o2 b 2 c 2 var o3 c 3 var obj Object a
  • 合并到广告订单中

    我有一个看起来像这样的声明 MERGE INTO someTable st USING SELECT id field1 field2 etc FROM otherTable ot on st field1 ot field1 WHEN N
  • 获取正在运行的 java 进程的 java 版本

    我可以使用 jps 列出正在运行的 java 进程 并使用 jstack l process id 获取正在运行的 java 进程的堆栈信息 我想知道这个进程在哪个java版本上运行 有办法做到吗 我不必使用 jstack 工具 谢谢 js
  • AngularJs 将带有子集合的对象发布到 MVC WebAPI

    我正在开发一个 AngularJS 应用程序 服务 js 中的方法之一将数据发送到具有以下 C 对象结构的 Web api public class InvitationModel public string Name get set pu
  • 为什么在 Solaris 10 中,timer_create 会抛出 SIGEV_THREAD 错误?

    我写了一段使用timer create来设置计时器来调用一个线程 其中我将sigev notify设置为SIGEV THREAD 它给了我错误EINVAL 无效参数 但是当我将sigev notify设置为SIGEV SIGNAL时 代码工
  • 始终为 False Q 对象

    在 Django ORM 中 如何创建一个始终为 False 的 Q 对象 这类似于关于的问题始终为 True Q 对象 https stackoverflow com q 33517468 247696 但反之亦然 请注意 这不起作用 F
  • 检测上传的文件是否太大

    这是我的上传表单