File_exists但不包含 - php

我正在尝试包含一个文件,但它似乎无法正常工作-这是整个代码:

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";
}

但是,如果我用以下替换category.php中的数组:

echo "testing";

也不显示任何内容。因此,据我所知,该文件存在,但似乎并未包括某些方式。如果我将类别文件重命名为其他名称,我将收到“没有这样的文件”错误(文件不存在)。

使用原始代码段,我得到的错误是:

Notice: Undefined variable: categories

但是正如您所看到的,它是在category.php文件中定义的。

它的唯一工作方式是将数组放置在代码的if(file_exists)部分中,我不想这样做,因为其他部分都依赖那个category.php文件,所以我不想重复多个文件中的数组。

有谁知道这可能是什么?让我知道您是否需要更多信息。

参考方案

您在这里有两个选择:

使用include(dirname(__FILE__).'/config/categories.php')确保您包含的是同一文件,而不是另一个'config / categories.php'
仔细检查category.php是否包括像这样的<?php打开php标签。似乎很明显,但是我已经在代码审查中多次看到了这一点。

希望这可以帮助 !

获取PHP中函数调用者的__FILE__常量 - php

我知道PHP中的__FILE__魔术常数将变成当前执行文件的完整路径和文件名。但是,有什么方法可以使函数的调用文件获得相同的信息吗?例如://foo.php: include "bar.php"; call_it(); //bar.php function call_it() { echo "Calling file: …

如何在PHP中设置get_file_contents的时间限制? - php

有时get_file_contents花费的时间太长,这会挂起整个脚本。有什么方法可以设置get_file_contents的超时限制,而无需修改脚本的最大执行时间?编辑:由于该文件不存在,因此花费了很长时间。我收到“无法打开流:HTTP请求失败!”错误。但这需要永远。 参考方案 通过使用timeout option创建上下文,似乎在PHP> 5.2.…

我只想使用php和jquery而不是ajax与其他表单元素提交image(file) - php

我的HTML在这里<body> <form id="myform" method="POST" action="formprocessing.php" enctype="multipart/form-data"> <input type="…

检查文件是否存在且大于 - php

我需要检查与脚本位于同一文件夹中的文件是否存在并且大于100字节,如果是,则回显“是否存在”。 参考方案 我相信您正在尝试执行以下操作:$filename = 'test.txt'; if (file_exists($filename) && filesize($filename) > 100) { echo �…

如何在php中写入文本文件而不删除所有数据 - php

如何在不删除所有现有数据的情况下写入文本文件?我试过了$txt = 'srge'; $file = fopen('text.txt','w'); fwrite($file,$txt); 但它不起作用,它让所有东西都听了 参考方案 注意:仅当您具有test.txt的适当权限时,此选项才起作用 权限被拒…