最簡單方式:$_SERVER['DOCUMENT_ROOT'],暴力通俗易懂,網站根目錄,GG.php
將下面的代碼放在網站根目錄下的一個文件中,以便在其它文件中引用。服務器
路徑方式:測試
define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/");網站
echo BASE_PATH;ui
輸出結果:E:/wwwroot/url
url方式:文檔
$PHP_SELF=$_SERVER['PHP_SELF'];域名
$url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF,'/')+1);require
echo $url;配置
PHP取得站點根目錄
echo $_SERVER['HTTP_HOST'];//當前請求的 Host: 頭部的內容 即域名信信息
echo $_SERVER['PHP_SELF'];//當前正在執行腳本的文件相對網站根目錄地址,就算該文件被其餘文件引用也能夠正確獲得地址
echo $_SERVER['SCRIPT_NAME'];//當前正在執行腳本的文件相對網站根目錄地址,但當該文件被其餘文件引用時,只顯示引用文件的相對地址,不顯示該被引用腳本的相對地址。
echo $_SERVER['DOCUMENT_ROOT'];//網站相對服務器地址即網站的絕對路徑名 #當前運行腳本所在的文檔根目錄。在服務器配置文件中定義
echo $_SERVER['SCRIPT_FILENAME'];//當前執行腳本的絕對路徑名。
方法一:
今天講了大體的站點目錄結構,其中說到了怎樣取得站點根目錄,好多同窗不是很理解,下面一步一步道來:
個人站點目錄據對路徑:D:\www\message2011,測試文件路徑:D:\www\message2011\include\config.inc.php
在根目錄下新建一個文件,也能夠隔一層目錄建立,就以上面爲例,我要在config.inc.php中取得站點的根目錄。
一、取得當前文件的路徑:用魔術常量__FILE__。這裏的路徑包含了文件名,結果以下:
D:\www\message2011\include\config.inc.php
二、去掉上面路徑的文件名,獲得純路徑:dirname(__FILE__),結果以下:
D:\www\message2011\include
三、返回一層目錄到根目錄:realpath(dirname(__FILE__).'/../'),結果以下:
D:\www\message2011
四、把向左的」\「轉化成向右的」/「:str_replace( '\\' , '/' , realpath(dirname(__FILE__).'/../')),結果以下:
D:/www/message2011
到這就是咱們想要的站點根目錄了,能夠根據需求設定第三步返回目錄層數,好比:返回2層就是 /../../,那麼就會獲得 D:\www\,以此類推。
方法二:
在global.inc 裏定義根目錄
define("APP_ROOT",dirname(__FILE__));
在任何PHP文件中能夠引用該常量
require_once(APP_ROOT."/inc/head.php");
方法三:
<?php
$PHP_SELF=$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF, '/')+1);
echo $url;
方法四:
$basepath=$_SERVER['PHP_SELF'];
$basepath=substr($basepath,0,strpos($basepath,"文件夾名稱"));
echo $basepath;
如:你把文件保存爲a.php並路徑爲:/wjj/wjj1/wjj2/a.php
上面的例子就寫成:
$basepath=$_SERVER['PHP_SELF'];
$basepath=substr($basepath,0,strpos($basepath,"wjj1"));
echo $basepath;
方法五:
$basepath=$_SERVER['PHP_SELF'];
preg_match("/(\/)?([^\/]+)/",$basepath,$wjm);
echo $wjm[0];