我正在尝试为包含循环中收到的信息的表打印一行。这确实起作用,但是,我循环的数组大约有200个项目,并且挂起直到检查每个项目。有没有一种方法可以在每次迭代中打印行?我使用的示例代码:
foreach ($array_check as $dns) {
if (checkdnsrr($dns. '.',"A")) {
$ret = "<tr>
<td><span class='badge badge-important'><i class='icon-remove icon-white'></i></span></td>
<td>$dns</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>option</td>
</tr><br/>";
echo $ret;
} else {
$ret = "<tr>
<td><span class='badge badge-success'><i class='icon-ok icon-white'></i></span></td>
<td>$dns</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>option</td>
</tr><br/>";
echo $ret;
}
flush();
ob_flush();
usleep(1000000);
}
感谢任何建议,我已经在互联网上搜索了很多关于此的内容,大多数我发现指向output_buffering的指向都需要关闭,而gzip也应关闭。
我都禁用了它们,但仍然挂起,直到显示任何输出为止。
提前致谢!
首先,对HTML进行一些更正:不需要在<br>
之后加<tr>
。这实际上是错误的,您不应将任何其他东西<tr>
放在桌子主体内。
关于您的问题,如果我做对了,您想在执行循环时逐行打印输出,对吗?
您尝试做的是非常依赖浏览器的更好的更改方法:通过AJAX请求数据,在您的php脚本中只需使用:
$output = array();
foreach ($array_check as $dns) {
$output[] = checkdnsrr($dns. '.', "A");
}
header('Content-type: application/json');
echo json_encode($output);
然后,使用javascript在客户端解析HTML,添加您喜欢的时间,或者使用JQuery并添加一些精美的动画。
编辑:我忘记了checkdnsrr
,修复它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句