1. 程式人生 > >php路徑和魔術常量的一些總結

php路徑和魔術常量的一些總結

1.函式 2.超全域性變數 3.魔術常量

要描述一個檔案的位置,可以使用決對路徑和相對路徑。絕對路徑是從根開始一級一級地進入各個子目錄,最後指定該檔名或目錄名。而相對目錄是從當前目錄進入某目錄,最後指定該檔名或目錄名。在系統的每個目錄下都有兩個特殊的目錄“.”和“..”,分別指示當前目錄和當前目錄的父目錄(上一級目錄)。例如:

複製程式碼程式碼如下:
$unixPath = “/var/www/html/index.php”; –在UNIX系統中絕對路徑,必須使用“/”作為路徑分隔符
$winPath = “C:\\Appserv\\www\\index.php”; –Windows系統的絕對路徑,預設使用“\”作為路徑分隔符
$winPath = “C:/Appserv/www/index.php”; –在Windows系統中也接受“/”作為路徑分隔符,推薦使用
$fileName1=”file.txt”; –相對路徑,當前目錄下的file.txt檔案
$fileName2=”javascript/common.js”; –相對路徑,當前目錄中javascript子目錄下的common.js檔案
$fileName3=”../images/logo.gif”; –相對路徑,上一級目錄中images子目錄下的logo.gif檔案

在上例中,分別列出了UNIX和Windows系統中絕對路徑和相對路徑的格式。其中在UNIX系統中必須使用正斜線“/”作為路徑分隔符,而在Windows系統中預設使用反斜線“\”作為路徑分隔符,在程式中表示還要將“\”轉義,但也接受正斜線“/”作為分隔符的寫法。為了程式可以有很好的移植性,建議都使用“/”作為檔案的路徑分隔符。另外,也可以使用PHP的內建常量DIRECTORY_SEPARATOR,其值為當前作業系統的預設檔案路徑分隔符。

echo DIRECTORY_SEPARATOR;echo "<br>" ;//獲取當前系統所用的目錄分割符
echo __FILE__;echo "<br>" ;//C:\wamp64\bin\apache\apache2.4.27\htdocs\test\dirname.php (全部路徑)
echo __DIR__;echo "<br>" ;//C:\wamp64\bin\apache\apache2.4.27\htdocs\test (不包含當前檔案的目錄)
echo dirname(__FILE__);echo "<br>" ;//C:\wamp64\bin\apache\apache2.4.27\htdocs\test (不包含當前檔案的目錄)
echo dirname(dirname(__FILE__));echo "<br>" ;//C:\wamp64\bin\apache\apache2.4.27\htdocs (再往上一級的目錄) echo basename(__FILE__);echo "<br>" ;//dirname.php (當前檔名) $path_parts = pathinfo(__FILE__); // (返回包括指定路徑中的目錄名、基本名和副檔名關聯陣列) echo $path_parts["dirname"];echo "<br>" ;//C:\wamp64\bin\apache\apache2.4.27\htdocs\test (不包含當前檔案的目錄)
echo $path_parts["basename"];echo "<br>" ; //dirname.php (當前檔名) echo $path_parts["extension"];echo "<br>" ; //php (檔案型別) echo getcwd();echo "<br>" ;//C:\wamp64\bin\apache\apache2.4.27\htdocs\test (不包含當前檔案的目錄) print_r($_SERVER);//資訊很多,獲取伺服器各種資訊 print_r(parse_url(__FILE__));//解析URL的函式

幾個 PHP 的“魔術常量”

名稱 說明  __LINE__ 檔案中的當前行號。  __FILE__ 檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。  __FUNCTION__ 函式名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函式被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。  __CLASS__ 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。  __METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫比如當前檔案是放在(d:\www\)下,檔名是test.php。