2011-04-13 162 views
2

我有一個爲我移動文件的php函數。它需要絕對路徑來放置這些文件(/Applications/MAMP/HTdocs/mysite/myfolder如何從絕對文件夾路徑獲取URL?

如何將此文件夾路徑字符串轉換爲url(http://mysite.com/myfolder),以便我可以創建鏈接到文件的動態?

我不知道文件夾的名稱,因爲軟件可能在多個位置運行。

非常感謝。

回答

2

顯然,你需要知道服務器的根用於這樣的計算。
Luclikly,$ _SERVER ['DOCUMENT_ROOT']包含此路徑。
所以,僅僅從給定的路徑減去服務器的根路徑:

$path = '/Applications/MAMP/HTdocs/mysite/myfolder'; 
$approot = substr($path,strlen($_SERVER['DOCUMENT_ROOT'])); 

檢查,如果你有一個在DOCUMENT_ROOT驅動器盤符,並糾正代碼,如果必要

注意添加http://mysite.com是不必要的,無用的。只需/myfolder/就是你真正需要的。

+0

但是那不是相對鏈接,它變得重要知道腳本正在運行的位置並進行解釋? – 2011-04-13 14:50:37

+0

@Mild當然是 – 2011-04-13 14:57:11

+0

,所以我需要修改該腳本以包含完整路徑,因爲我沒有那種奢侈品。 – 2011-04-13 15:00:58

0

如果mysite的文件夾是htdocs目錄內,那麼你可以使用http://yourdomain/mysite訪問它,(如果HTodcs是你的主目錄)

2

您可以檢查這個值:$ _ SERVER [「DOCUMENT_ROOT」];

這是您的網站的根。如果你有文件夾並用$ _SERVER [「HTTP_HOST」]替換$ _SERVER [「DOCUMENT_ROOT」],你將得到文件夾/文件的URL