繁体   English   中英

PHP APC进度栏

[英]PHP APC Progress Bar

发表更新:经过评论者的建议。

Index.php

<?php
$id = uniqid("");
?>
</head>

<body>
<form method="post" action="frame.php" target="upload_iframe" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="<?php echo $id; ?>"/>
<br />
<input type="submit" name="submit" value="Submit" />
</form>
<iframe name="upload_iframe" style="width: 400px; height: 100px;">
</iframe>

frame.php

<?php
if(isset($_POST['progress_key'])) {
    echo "hey1";
    $status = apc_fetch('upload_'.$_POST['progress_key']);
    echo $status['current']/$status['total']*100;
}
echo "hey2";
?>

仍然不起作用:(,我什至没有在框架中获取POST表单数据。我哪里错了?

问候。

每当使用APC文件上传机制时,都需要向表单添加一个附加参数,以标识正在上传的文件,这是apc_fetch的密钥。

<?php $id = uniqid(time()); ?>
<input type="hidden" name="APC_UPLOAD_PROGRESS" id="myUniProgressKey" value="<?php echo $id; ?>"/>

上载文件时,密钥upload . $id载中的值upload . $id upload . $id将包含显示进度条所需的信息。 最简单的方法是使用您拥有的apc_fetch调用对服务器进行ajax轮询。 这表明您的上传页面无需刷新用户所在的当前页面。 过去,我曾使用过一个iframe ,它开始了一个间隔来轮询服务器。 上传完成后,您就可以在同一iframe中显示完整的消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM