2012-02-01 17 views
0

我有這個這可能是尋找路徑的迂迴的方式:尋找頂級目錄,縮短路徑PHP

<?php require_once $parent_dir = dirname(dirname(dirname($_SERVER['SCRIPT_FILENAME']))).'/myFile.php'; ?> 

它的工作原理,但有沒有寫它的一個更清潔的方式?

我的網站有一個子域名。這裏就是myFile.php位於:

http://sub.mydomain.com/dir/

+0

待辦事項你的意思是頂級目錄? – webbiedave 2012-02-01 21:09:02

+0

是的,抱歉。改變主題。 – Yahreen 2012-02-01 21:14:50

回答

0

有時getcwd可能是有用的:

require_once getcwd() . '/../../myFile.php' ; 
1

我不知道正是你正在嘗試做的,但也許$_SERVER['DOCUMENT_ROOT']可以幫助你。

0

如果你有PHP 5.3(或更高版本),你可以使用__DIR__

$parent_dir = __DIR__.'/../myFile.php'; 

你的例子似乎走了幾個級別進一步上漲,這樣你就可以添加到:

$parent_dir = __DIR__.'/../../myFile.php'; 

__DIR__是一個魔術常量,它可以評估調用它的文件所在的目錄。

正如在other answer中突出顯示的那樣,如果您位於根後面,$_SERVER[DOCUMENT_ROOT]會爲您提供在您的服務器(例如Apache)配置中定義的路徑。

1

我也不能完全確定你想要做什麼,但也許這樣的事情會縮短你:

$pathArr = explode("/", __DIR__); 
var_dump($pathArr); 
// previous was for debugging to see what gets put where, remove this once you sort it out. 

// list($level1, $level2, ...) = explode("/", __FILE__); 
+0

嘿!不知道這是OP尋找什麼,但它絕對是我期待的!需要從'/ hello/this/is/a/long/path/file.php'中找到「hello」並且爆炸似乎是實現它的一個簡單方法。 :) – kiradotee 2016-07-19 10:05:50