相关疑难解决方法(0)

使用PHP进行非常大的上传

我想允许将非常大的文件上传到我们的PHP应用程序中(数百个megs - 8演出).然而,这有几个问题.

浏览器:

  • HTML上传有蹩脚的反馈,我们需要轮询进度(这有点傻)或根本没有反馈
  • Flash上​​传器在开始上传之前将整个文件放入内存

服务器:

  • PHP强制我们设置post_max_size,这可能导致容易被攻击的DOS攻击.我不想全局设置此设置.
  • 服务器还需要在POST变量中存在一些其他变量,例如密钥.我们希望能够立即拒绝请求,而不是在整个文件上传后.

要求:

  • HTTP是必须的.
  • 只要它在浏览器中运行,我就可以灵活地使用客户端技术.
  • PHP不是必需的,如果有一些其他技术可以在Linux环境中运行良好,那就非常酷了.

php upload large-files

37
推荐指数
4
解决办法
3万
查看次数

PHP警告:POST内容 - n个字节的长度超过了第0行的Unknown中的3145728个字节的限制

我很惊讶在我的错误日志中找到上述错误,因为我认为我已经完成了必要的工作以捕获我的PHP脚本中的错误:

if ($_FILES['image']['error'] == 0)
{
 // go ahead to process the image file
}
else
{
 // determine the error
 switch($_FILES['image']['error'])
 {
  case "1":
  $msg = "Uploaded file exceeds the upload_max_filesize directive in php.ini.";
  break;
  ....
 }
}
Run Code Online (Sandbox Code Playgroud)

在我的PHP.ini脚本中,相关设置是:

memory_limit = 128M
post_max_size = 3M
upload_max_filesize = 500K
Run Code Online (Sandbox Code Playgroud)

据我所知,3M相当于3145728字节,这就是触发错误的原因.如果文件大小超过500K但小于3m,PHP脚本将能够按照正常运行,在发出错误信息$msgcase 1.

当帖子大小超过post_max_size但仍然在内存限制范围内时,如何捕获此错误而不是让脚本突然终止并发出PHP警告?我在这里,这里这里看过类似的问题,但找不到答案.

php

9
推荐指数
1
解决办法
1万
查看次数

奇怪的PHP错误,它来自哪里?笨

今天我正在为头像制作文件上传,一切都很好,它调整图像大小等,但偶尔选择一个大而无效的文件时会产生这个错误:

Warning: POST Content-Length of 52091839 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
You did not select a file to upload.
Run Code Online (Sandbox Code Playgroud)

这种情况并不是偶尔发生的.通常它只是在文件太大时给出正确的错误消息.

有没有人知道这个错误来自哪里,为什么它显示?

谢谢!

php codeigniter

3
推荐指数
1
解决办法
2922
查看次数

标签 统计

php ×3

codeigniter ×1

large-files ×1

upload ×1