【发布时间】:2016-02-04 14:48:52
【问题描述】:
我正在尝试获取文件上传的进度,但 apc_fetch 没有为此返回数组:
$status = apc_fetch('upload_'.$_REQUEST['progress_key']);
文件上传成功完成,没有错误。我启用了 apc.rfc1867。我知道 APC_UPLOAD_PROGRESS 必须是发送到服务器的第一个参数。我正在使用 XMLHttpRequest 上传,并且 APC_UPLOAD_PROGRESS 正在查询字符串中发送到服务器。
上传发生在我服务器上的虚拟主机上。我在 /etc/php.d/apc.ini 中启用了 APC
这是我用于上传的 Javascript:
xhr.open('POST', queryURL, true); // queryURL var contains APC_UPLOAD_PROGRESS
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('X-File-Name', encodeURIComponent(filename));
xhr.setRequestHeader('Content-Type', 'application/octet-stream');
xhr.send(input.files[0]);
当我使用 iframe 进行上传时,它在 IE9 中也不起作用。
为什么apc_fetch没有返回上传进度数组?
【问题讨论】:
-
我认为您在文件上传时需要进度条。我说的对吗?
-
没错。但为了让进度条正常工作,我需要使用 apc_fetch 检索上传进度数据,但我无法做到。
-
我在我的答案中发送了代码我正在使用 jQuery 进度条在 php 中上传文件。请看一下。
标签: php file-upload xmlhttprequest apc