【发布时间】:2020-04-14 18:45:29
【问题描述】:
我在 php 中使用这个 js 来显示被迭代的文件名。我在 6 个不同的网站上完美运行,所有这些网站都有相同的确切代码(WordPress 插件)。但是,另一方面,在 php 完成之前,html 不会更新。这些站点中有 4 个位于同一共享主机上,因此它不工作的站点的服务器设置应该与它运行的站点相同。这就像 ob 没有启动或冲洗。
add_action('init', array($this, 'Do_output_buffer'));
function Do_output_buffer() {
ob_start();
}
echo "<script>
const element = document.querySelector('#filefind');
</script>";
@ob_flush();
@flush();
echo "<script>
element.innerHTML = `<div>" . $value . "</div>`;
</script>";
@ob_flush();
@flush();
谢谢!
编辑 每个请求
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->path), RecursiveIteratorIterator::SELF_FIRST);
foreach ($objects as $filename => $value) {
echo "<script>element.innerHTML = `<div>" . $filename . "</div>`;
</script>";
@ob_flush();
@flush();
}
```
【问题讨论】:
-
你能在上下文中向我们展示你是如何实际使用它的吗?您是否还有一个原因是在
ob_flush()和flush()上抑制错误消息 -
好的,添加了一些代码来举例说明我在做什么。基本上遍历整个目录树,并希望在相同的位置显示文件名,并在它被迭代时显示。为什么要打压?好问题。我对 JS 很烂,这是一个我发现有效的代码示例,所以我保持原样。
标签: javascript wordpress output-buffering