2013-01-06 46 views
26

我使用require_once這樣使用require_once長達目錄不工作

require_once('../mycode.php') 

我開發一個WordPress插件。我的插件文件夾是yves-slider,其中有一個名爲yves-slider.php的文件和一個名爲admin的文件夾。在admin文件夾中我有一個名爲admin.php的文件。我想在我的admin.php中需要文件yves-slider.php,它位於一個級別的目錄中。當我嘗試使用

require_once('../yves-slider.php') 

它給了我下面的錯誤

Warning: require_once(../yves-slider.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php on line 4

Fatal error: require_once(): Failed opening required '../yves-slider.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php on line 4

難道我做錯了嗎?我正在使用XAMPP 3.1,我想這是最好的方法。

+0

經常遇到此錯誤,並快速排除故障,請按照下列步驟操作:stackoverflow.com/a/36577021/2873507 –

回答

49

你想使這相對於當前路徑的文件是:

require_once __DIR__ . '/../yves-slider.php'; 

什麼可能的情況是,目前的路徑PHP看起來是你認爲它是路徑。如果你對它是什麼感興趣(當前路徑),你可以做echo getcwd();

+0

究竟是什麼我只想念您的示例中的一個「/」/../yves- slider.php':D非常感謝..你的回答將在6分鐘內被檢查。爲什麼我需要一個「/」?而不是直接'../yves-slider.php' –

+0

但我想知道,爲什麼這種「相對」的路徑工作:require_once「目錄/ class.php」 – emfi

+1

@emfi那些是相對於當前工作目錄,應該是避免了代碼的靈活性。 – PeeHaa