Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和APC,文件上传进度不缓存?_Php_File Upload_Apc - Fatal编程技术网

PHP和APC,文件上传进度不缓存?

PHP和APC,文件上传进度不缓存?,php,file-upload,apc,Php,File Upload,Apc,我一直在互联网上阅读APC,这似乎是一种检测文件上传的好方法 然而,我有一个问题 我知道如何使用Ajax调用文件和所有东西,这就是我计划要做的,但为了测试起见,我正在做类似的事情 好的,我有3个文件 form.php upload.php status.php php包含: <input type="hidden" name="APC_UPLOAD_PROGRESS" value="1234" /> <input type="file" id="fileIn" name="fi

我一直在互联网上阅读APC,这似乎是一种检测文件上传的好方法

然而,我有一个问题

我知道如何使用Ajax调用文件和所有东西,这就是我计划要做的,但为了测试起见,我正在做类似的事情

好的,我有3个文件

form.php upload.php status.php

php包含:

<input type="hidden" name="APC_UPLOAD_PROGRESS" value="1234" />
<input type="file" id="fileIn" name="file" />
而Status.php使用APC:

$upload = apc_fetch('upload_1234');
if ($upload) {
    if ($upload['done'])
        $percent = 100;
    else if ($upload['total'] == 0)
        $percent = 0;
    else
        $percent = $upload['current'] / $upload['total'] * 100;

echo $percent;
}
现在我要做的是使用常规HTTP方法上传一个文件,并使用另一个窗口监视Status.php

问题是,;Status.php不返回任何内容

然而,如果我写 打印“上传”1234

在upload.php中,它返回正确的数组以及所有细节等

我做错了什么


谢谢。

发生这种情况时,需要检查的是,带有APC\u UPLOAD\u进度键的隐藏输入元素是否放置在表单中文件输入的前面


我知道上面示例中的表单可以做到这一点,但在更复杂的表单布局中很容易忽略它。

此外,apc.rfc1867等都已启用并启用。显然还有一个替代选项可用:找到一个,它工作得非常好!可惜这个答案没有被接受。我不知道隐藏的输入必须在文件输入之前出现。
$upload = apc_fetch('upload_1234');
if ($upload) {
    if ($upload['done'])
        $percent = 100;
    else if ($upload['total'] == 0)
        $percent = 0;
    else
        $percent = $upload['current'] / $upload['total'] * 100;

echo $percent;
}