2011-02-28 125 views
0

我知道这是一个菜鸟问题,但实际发生的进度条是什么实际监控。进度条什么是实际发生

我想要理解它的唯一方法就是得到这个答案。

当我运行一段关闭php代码我怎么能得到一个进度条来监控它,直到它运行直到代码完成?

我见过的大多数进度条都是文件上传和下载。是否监视浏览器在上载文件时发送的请求数量,以便监视正在传输的字节数?

有人能给我一个更好的了解什么正在发生?

我只是想要一个简单的进度条来监视进度,而我的php代码正在运行,所以说如果我运行这个简单的代码备份网站文件和文件夹,我怎么能这样做?

<?php if (isset($_POST['backup'])) { 
     if(exec("cd {$_SERVER['DOCUMENT_ROOT']}/wp-content/plugins/s3bk/files;tar -cvpzf backup.tar ".get_option( 'isd-server')."")) { echo "done"; } 
} 
<form id="backup" method='post' action=''> 
<?php if (function_exists('wp_nonce_field')) { wp_nonce_field('s3bk-updatesettings'); } ?> 
<input type='submit' class="button" name='backup' value='backup'> 

抱歉,菜鸟问题只是真的想让我的脑袋围绕什么实际发生?

感谢

回答

1

您将无法监控类似的东西 - 你的exec()荷兰国际集团从PHP外部程序,因此PHP被暂停,外部进程处于活动状态。同样,焦油不能提前报告要做多少事情,它只能报告它做了什么或正在做什么。

进度条的工作原理是(how much is done/how much there is todo) * 100。如果事先不知道需要用tar备份多少个文件/字节,则无法计算完成百分比。

+0

嗨marc感谢您的答复与PHP你如何监测“多少已完成”所以说如果我管理文件上传在什么时候php抓住一个百分比,并不断从中获取信息? – iSimpleDesign 2011-03-01 12:41:27

+0

直到上传完成后,PHP才会启动上传处理脚本,从而无法进度条。从PHP 5.2开始,有一些挂钩允许将进度更新写出到文件中,这可以通过其他脚本进行监视。 PHP手册页的评论,http://php.net/manual/en/features.file-upload.php#71564,有一些细节。 – 2011-03-01 14:26:52