【发布时间】:2012-05-23 07:52:18
【问题描述】:
我正在尝试包含一个文件,但它似乎不起作用 - 这是整个代码:
if (file_exists('config/categories.php')) {
include ('config/categories.php');
}
foreach ($categories as $cat_sef => $cat_name) {
echo '<a href="'.$full_domain.$cat_sef.'" alt="#">'.$cat_name.'</a><br />';
}
config/categories.php 的内容只是一个数组:
$categories = array("category-1" => "Category 1",
"category-2" => "Category 2",
"category-3" => "Category 3")
我知道该文件存在,因为以下工作:
if (file_exists('config/categories.php')) {
echo "file exists";
}
但是,如果我将 categories.php 中的数组替换为 say:
echo "testing";
也不会显示任何内容。据我所知,该文件存在,但似乎没有包含一些内容。如果我将类别文件重命名为其他文件,我将收到“没有此类文件”错误(文件不存在)。
使用原始代码sn-p,我得到的错误是:
Notice: Undefined variable: categories
但是如你所见,它是在 categories.php 文件中定义的。
它工作的唯一方法是将数组放在我的代码的 if (file_exists) 部分的位置,我不想这样做,因为其他部分依赖于该 categories.php 文件,所以我不想在多个文件中复制一个数组。
有人知道这可能是什么吗?如果您需要更多信息,请告诉我。
【问题讨论】:
-
如果你只是
require文件而不检查file_exists会发生什么?无论如何,这似乎更符合您的使用习惯。 -
从你的 readfile('config/categories.php') 发送输出;在这里。
-
基础知识:categories.php 是否以
<?php开头? -
尝试 print_r(get_included_files()); ?> 包含后。该文件应该出现在该数组中
-
在“config/categories.php”的顶部放一些文本,html;它呈现?
标签: php