我有2个大小为24.7kb和11mb的mp3文件。
当我尝试上传较小的文件时,我没有错误。
当我尝试上传较大的文件时,出现错误。在萤火虫中,我看到类似
的东西NetworkError: 404 Not Found - http://domain.com/application/form/%3C!DOCTYPE%20HTML%3E%3C!--%5Bif....
在“form /”之后检查并解析字符串后,它似乎是您所在网页的标记。
知道为什么会这样吗?
P.S。
我检查了我的PHP.ini和Expression Engine的文件上传首选项,并确保我的最大文件大小限制超过10mb(使用20mb)。
我正在为我的框架使用ExpressionEngine而为我的表单使用Safecracker
在Mac上,似乎标记字符串显示在DOM中的某个位置,您可以在页面中看到它。我没有在Firefox或Chrome中看到它
答案 0 :(得分:13)
您可能希望检查的是您的XSS设置。在Admin
下 - > Security and Privacy
- > Security and Session Preferences
,将以下内容设置为No
并再次测试您的上传内容:
Apply XSS Filtering to uploaded files?
它可能没有任何影响,但我已经看到一些情况,由于XSS过滤,MP3和PDF导致了一些非常随机的结果;当然值得排除。
答案 1 :(得分:4)
这可能仍然是服务器问题,而不是特定于EE的东西。我首先检查php.ini中的以下设置(除upload_max_filesize
外,它听起来已经碰到了,大致按以下顺序排列:
max_execution_time
设置允许脚本在解析器终止之前运行的最长时间(以秒为单位)。我认为最有可能的候选者就是这个,因为在上传或上传后处理过程中很可能会超出这个范围。 PHP 5.3中的默认值为“30”
post_max_size
(必须大于upload_max_filesize)。设置允许的后期数据的最大大小,也会影响文件上载。 PHP 5.3中的默认值是“128M”,但有些主机会大大减少它。
memory_limit
设置允许脚本分配的最大内存量(以字节为单位)。不太可能是这个,因为你几乎肯定会得到一个PHP错误,但值得检查完整性。 PHP 5.3中的默认值为“8M”