进度条实际上是怎么回事

时间:2011-02-28 16:24:28

标签: php jquery backup progress-bar

我知道这是一个新手问题,但实际上是在进度条中发生了什么,它实际上是在监控。

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

当我运行一段关闭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 个答案:

答案 0 :(得分:1)

你将无法监控类似的东西 - 你是从PHP执行外部程序的,因此PHP在外部进程处于活动状态时被挂起。同样,tar无法提前报告要做多少事情,它只能报告它已完成或正在做什么。

进度条基于(how much is done / how much there is todo) * 100。如果不事先知道要用tar备份多少文件/字节,就无法计算完成百分比。