方案PHP路径
我有2个文件:file.php
和admin/file.php
file.php
已经require_once 'admin/functions.php';
admin/file.php
已经require_once 'functions.php';
所以他们俩都包括相同文件。问题在于在functions.php
之内,诸如file_get_contents
和include
和require
之类的东西看到相对于file.php
和admin/file.php
而不是functions.php
定义的路径。因为这个原因,我不能使用不同目录中的相同functions.php
而不创建重复的文件,我不认为这是最好的做法,因为我编辑一个文件,我必须记住编辑其他也是如此。
这种情况的最佳做法是什么?
编辑:请参阅下面接受的答案的评论。
这正是我正在寻找。一旦我认识到它是我见过的几乎所有CSM中使用的相同练习,它就会为我点击。我创建了2个配置文件(一个用于管理目录,一个用于基本目录): Admin config.php:'define(ADMIN_PATH,realpath(dirname(__ FILE__))。'/');' Base config.php:'define(ADMIN_PATH,realpath(dirname(__ FILE__))。'/ admin /');' 我希望能够澄清某人的解决方案。 –
@SolidI使用'realpath(dirname(__ FILE __))'这个问题真的很麻烦,因为'__FILE__'总是将符号链接解析为真正的绝对路径路径。今天你可能不会遇到这个问题,但如果这个问题窒息,那将是原因。考虑手动编写完整路径。 http://www.php.net//manual/en/language.constants.predefined.php – JakeGould