我一直在使用 PHP 编写自定义 CMS,直到最近才遇到任何问题。测试时,我注意到该字符串
已开始仅出现在索引页的顶部。在整个代码中使用一些 die 语句进行测试,似乎输出来自文件包含之间。
文件 A
<?php
if (!defined('IN_CMS'))
{
exit;
}
require(INCLUDE_PATH . '/pages/homepage/main.php');
?>
文件 B(内含文件)
<?php
if (!defined('IN_CMS'))
{
exit;
}
$db->sql_query("SELECT * FROM `" . DB_PREFIX . "categories` active = 1");
$cats = $db->sql_results();
$categories = array();
foreach($cats as $cat)
{
$cat_info = array(
'name' => $cat['name'],
'description' => $cat['description'],
'image' => $setting['site_url'] . '/thumbnails/' . $cat['image'],
);
$categories[] = $cat_info;
}
include theme('index');
?>
我无法理解输出的来源,但它似乎位于两个文件之间。我已经ob_start()
在文件 A 的包含行之前和包含文件ob_end_clean()
的最开始添加了输出,但是没有显示输出,但是两个文件中的任何地方都没有杂散输出。