方案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