我正在开发一个允许在Web服务器上上传和存储大文件的应用程序.目前我正在使用PHP通过http处理POSTed文件.我有我的php.ini设置:
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 128M
max_input_time = 6000
max_execution_time = 6000
Run Code Online (Sandbox Code Playgroud)
似乎没有为LimitRequestBody设置任何apache指令.我使用APC来跟踪文件上传进度.由于某种原因,文件上传始终在50M时完全停止.
我知道http不是文件上传最有效的解决方案,但这个应用程序需要用户友好,我知道ftp存在防火墙问题.
我想知道是否有人能给我一些关于什么是在50M时停止下载的建议?它必须是某种配置设置.
另外,还有其他方法我应该考虑使用javascript/PHP和http进行文件上传.我已经研究过java applet并使用flash.可能会使用swfuploader,但如果它的服务器配置导致我的上传通过http失败,我真的不知道java applet或flash uploader是如何解决的.
我应该注意到,我希望能够提出一个解决方案,允许我在某个时候上传非常大的1 GB文件.
我使用非常简单的PHP来接收文件
$uploaddir = '/'.$_POST['upload_directory'].'/';
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { some success code; }
Run Code Online (Sandbox Code Playgroud)
显然有一点比这更多,但这是我如何处理上传的要点.
经过几个小时的敲头,我解决了这个问题。我使用 Extjs 作为前端组件。我正在使用的上传小部件中有一个硬编码设置,它将 POST 请求的 MAX_ UPLOAD _FILESIZE 属性设置为 50M,覆盖我在其他地方设置的值。现在它正在按预期工作。感谢您的评论。
| 归档时间: |
|
| 查看次数: |
1271 次 |
| 最近记录: |