我正在尝试包含一个文件,但它似乎无法正常工作-这是整个代码:
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的适当权限时,此选项才起作用 权限被拒…