提问人:Ryflex 提问时间:8/2/2022 更新时间:8/2/2022 访问量:32
修改 php include with ob_start 在进行额外编辑时不起作用
Modifying a php include with ob_start not working when extra edits are made
问:
我正在尝试通过PHP Includes修改一系列标头,并且在多次修改缓冲区时遇到问题。
我本质上是想让编辑包含的 js 和 css 文件变得非常容易,如果我们查看以下代码,这将成功地将 替换为版本号的查询字符串。?v=x
<?php
function callback($buffer) {
return (str_replace("?v=x", "?v=1.3", $buffer));
}
ob_start("callback");
include 'includes/header-tags.php';
ob_end_flush();
?>
该页面正在输出正确的链接,并应用了 1.3 版本。
我试图修改它,以便我可以通过以下代码在子文件夹中使用这些相同的标头,如您所见,我已经尝试通过替换每个实例来修复 css/js 文件夹的目录修复路径。="assets/
="../assets/
<?php
function callback($buffer) {
$buffer = str_replace("?v=x", "?v=1.3", $buffer);
// Directory Fix for Subfolders
$subfolder_array = array("extra-pages", "test-pages", "new-pages", "custom");
if (in_array(trim(basename(dirname(__FILE__))), $subfolder_array)) {
$buffer = str_replace('="assets/', '="../assets/', $buffer);
}
return $buffer;
}
ob_start("callback");
include 'includes/header-tags.php';
ob_end_flush();
?>
但是它没有输出任何 css/js 文件,包含基本上什么都不返回......
我敢肯定这是我错过或不理解的愚蠢事情,我将不胜感激。
谢谢
答: 暂无答案
评论