php - 文件上传大小验证

标签 php javascript validation upload size

验证是一个大问题,就好像我在 php 中验证它具有使它工作所需的所有功能等。但它首先将文件上传到一个临时位置,然后进行检查,这很糟糕。如果有人上传一个 100mb 的文件,他必须等待时间才能没有错误,但只是一些内部 php 搞砸了挂起页面。

一种方式:JS

//file is id of input file
alert(document.getElementById('file').files[0].fileSize);

我猜这在 firefox、safari、chrome 中也有效,但不是:在 Opera 中,很确定 IE 也是如此,但 IE 可以通过 ActiveX 文件大小来处理,但 Opera 我仍然卡住了。非常不可用,无论如何要绕过它?

其次:我在想,我可以通过在 php.ini 中设置最大大小或类似的东西来提供 php 自定义警报或其他东西,这可以轻松解决问题。这就是我要找的。

另一项更新:

我一直在和 rapidshare 搞混以了解发生了什么,我意识到即使他们使用 javascript 文件大小检查 :P 现在它在 firefox 上工作得很好,其他的就像我说的,甚至 IE 因为它有后备 ActiveX方法,但 Opera 是受害者 :P 在这种情况下,他们不能给出花哨的 javascript 错误。但是他们确实有一个回退服务器端验证需要几秒钟的时间,并不顺利,但它最终确实显示了一个小错误。

所以现在只需要在不上传的情况下找出服务器端部分,在我看来只有一种方法可以做到这一点:

  1. 一些 内部 php 最大大小增加 我可以自定义或运行的错误 一些脚本来找出是否最大 已达到大小或找到 POST 超出或类似的东西。// 对此一无所知。希望一些 服务器人员可以提供帮助:)我认为这个 如果有人 php 服务器大师在这里。

谢谢和问候。请帮忙。 :)

最佳答案

这是一个使用flash + javascript (MooTools) 做文件上传的插件。这个插件的好处是它是受支持的,你可以 Github它。它可以限制最大大小等,并在上传之前 验证文件信息。此外,还有使用 PHP 的后端示例,说明文件上传后的处理方式。

Fancyupload

特点

  • 选择并上传多个文件
  • 在选择中按类型过滤文件
  • 对话很多可能的事件 添加你自己的行为
  • 之前显示和过滤有用的文件信息 上传开始
  • 按文件数量、类型或大小限制上传
  • 独立于平台和服务器,只需要安装了 Flash9+(> 95% 渗透率)即可在所有浏览器上运行

这是与 MooTools 插件功能相同的 jQuery 插件:

Uploadify

关于php - 文件上传大小验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947753/

相关文章:

java - 如何在 Spring 中排除/禁止 validator 中的字段

php - 控制 Magento API 调用的结果数量

java - 可缩放剪贴蒙版

javascript - 当子菜单的父项或包含的链接处于事件状态时,如何让子菜单可见?

java - Spring MVC 3 验证不起作用

asp.net-mvc-3 - 如何使用MVC使用多个表单显示ValidationSummary

php ini 使用 parse_ini_file 创建数组

javascript - 将输入值检索到 formData 对象中

javascript - 在 javascript/jquery 中查找多个值

javascript - GET 变量名称包含破折号会为 NodeJS Express 的 req.query 带来问题吗?