结构
libs/functions.php
test/b.php
a.php
content.html
的functions.php
<?php
function showContent() {
return file_get_contents('content.html');
}
a.php只会
<?php
include 'libs/functions.php';
echo showContent();
b.php
<?php
include '../libs/functions.php';
echo showContent();
content.html
test
a.php会显示 test 这个词,但是b.php在test文件夹中,因此文件路径会出错,如何解决呢?
答案 0 :(得分:0)
请使用以下内容:
$basePath = dirname(__FILE__);
将此$basePath
前缀用于任何include或require语句。
我希望这会有所帮助
答案 1 :(得分:0)
你正在从错误的方向思考这个问题。
相反,打开不同的php文件,创建一个文件index.php
,includes
并使用您需要的脚本。这样,您将始终处于根目录,并且能够访问您需要的文件/功能。
另一种方法是克隆子目录中的目录,但我不建议该选项。随着时间的推移,你会感到困惑。
答案 2 :(得分:0)
您可以使用文档根作为路径的开头,这样您就不用担心了。
$_SERVER['DOCUMENT_ROOT'].'/libs/functions.php'
和
$_SERVER['DOCUMENT_ROOT'].'/content.html'
答案 3 :(得分:0)
我不知道为什么你需要这样做,但一个解决方案是用你想要的文件夹中的所有php文件创建一个索引。
另一种解决方案可能是从基本路径设置常量路径。您可以使用$_SERVER['DOCUMENT_ROOT']
获取网站的根目录。这是最快的解决方案,通过设置此常量,您将始终直接引用functions.php文件。