php 使用exec函数时,前端html显示实时进度输出

如果你想在前端 HTML 中实时显示 PHP 执行命令的进度,可以使用 progress 标签来实现。progress 标签可以在页面上显示一个进度条,并在进度条上显示当前进度。以下是一个使用 p

<!DOCTYPE html>  
<html>  
<head>  
<title>Progress Bar Example</title>  
</head>  
<body>  
<h1>Progress Bar Example</h1>  
  
<script>  
var progress = 0;  
  
function showProgressBar() {  
// 执行命令,并将进度保存到 progress 变量中  
var cmd = '<?php echo "Your PHP Command"; ?>';  
var output = cmd.split('<?php')[1];  
  
// 获取命令执行结果的输出流  
var stream = new XMLHttpRequest();  
stream.open('GET', '<?php echo $_SERVER['PHP_SELF']; ?>', false);  
stream.onreadystatechange = function() {  
if (stream.readyState == 4 && stream.status == 200) {  
var data = stream.responseText;  
  
// 将输出流转换为字符串,并显示进度条  
progress = parseInt(data.split('\r\n')[progress], 10);  
console.log(`Current progress: ${progress}%`);  
  
// 清空进度条  
progress = 0;  
}  
};  
stream.send();  
}  
  
// 每隔 50 毫秒调用一次 showProgressBar 函数  
setInterval(showProgressBar, 50);  
</script>  
  
<?php  
  
// 在命令行中执行命令  
$output = '<?php echo "Your PHP Command"; ?>';  
  
// 获取命令执行结果的输出流  
$stream = fopen("<?php echo $_SERVER['PHP_SELF']; ?>", "r");  
$result = stream_get_contents($stream);  
$data = str_replace('\r\n', '', $result);  
$output = $data."\r\n\r\n".$output;  
  
echo $output;  
?>  
  
<p>Progress: <span id="progress"></span></p>  
<然后,我们使用 `progress` 变量的值作为当前进度,并在页面上显示一个进度条。每隔 50 毫秒,我们调用 `showProgressBar` 函数来更新进度条,并输出当前进度到控制台。在命令行中执行命令时,我们将命令的执行结果输出到控制台中。最后,在 HTML 中,我们使用 `progress` 标签显示实时进度。  
  
当你运行上面的代码时,你会看到进度条不断地更新,并显示当前进度到控制台。注意,由于 `progress` 标签是在页面上动态显示进度的,因此你可能需要添加错误处理代码来处理命令执行过程中的错误。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值