PHP解析目錄路徑的3個(gè)函數(shù)總結(jié)
要描述一個(gè)文件的位置,可以使用決對(duì)路徑和相對(duì)路徑。絕對(duì)路徑是從根開始一級(jí)一級(jí)地進(jìn)入各個(gè)子目錄,最后指定該文件名或目錄名。而相對(duì)目錄是從當(dāng)前目錄進(jìn)入某目錄,最后指定該文件名或目錄名。在系統(tǒng)的每個(gè)目錄下都有兩個(gè)特殊的目錄“.”和“..”,分別指示當(dāng)前目錄和當(dāng)前目錄的父目錄(上一級(jí)目錄)。例如:
$unixPath = “/var/www/html/index.php”; –在UNIX系統(tǒng)中絕對(duì)路徑,必須使用“/”作為路徑分隔符
$winPath = “C:\\Appserv\\www\\index.php”; –Windows系統(tǒng)的絕對(duì)路徑,默認(rèn)使用“\”作為路徑分隔符
$winPath = “C:/Appserv/www/index.php”; –在Windows系統(tǒng)中也接受“/”作為路徑分隔符,推薦使用
$fileName1=”file.txt”; –相對(duì)路徑,當(dāng)前目錄下的file.txt文件
$fileName2=”javascript/common.js”; –相對(duì)路徑,當(dāng)前目錄中javascript子目錄下的common.js文件
$fileName3=”../images/logo.gif”; –相對(duì)路徑,上一級(jí)目錄中images子目錄下的logo.gif文件
在上例中,分別列出了UNIX和Windows系統(tǒng)中絕對(duì)路徑和相對(duì)路徑的格式。其中在UNIX系統(tǒng)中必須使用正斜線“/”作為路徑分隔符,而在Windows系統(tǒng)中默認(rèn)使用反斜線“\”作為路徑分隔符,在程序中表示還要將“\”轉(zhuǎn)義,但也接受正斜線“/”作為分隔符的寫法。為了程序可以有很好的移植性,建議都使用“/”作為文件的路徑分隔符。另外,也可以使用PHP的內(nèi)置常量DIRECTORY_SEPARATOR,其值為當(dāng)前操作系統(tǒng)的默認(rèn)文件路徑分隔符。例如:
$fileName2 = “javascript”.DIRECTORY_SEPARATOR.”common.js”; –Unix為“/”,Windows為“\”
將目錄路徑中各個(gè)屬性分離開通常很有用,如末尾的擴(kuò)展名、目錄部分和基本名??梢酝ㄟ^PHP的系統(tǒng)函數(shù)basename()、dirname()和pathinfo()函數(shù)完成這些任務(wù)。
①函數(shù)basename()
函數(shù)basename()返回路徑中的文件名部分。該函數(shù)的原型如下所示:
string basename(string path[,string suffix]) //返回路徑中的文件名部分
該函數(shù)給出一個(gè)包含其指向一個(gè)文件的全路徑的字符串,本函數(shù)返回基本的文件名。第二個(gè)參數(shù)可選參數(shù),規(guī)定文件的擴(kuò)展名。如果提供了則不會(huì)輸出這個(gè)擴(kuò)展名。該函數(shù)的使用如下面的代碼所示:
<?php
//包含有指向一個(gè)文件的全部路徑的字符串
$path = "/var/www/html/page.php";
//顯示帶有文件擴(kuò)展名的文件名,輸出page.php
echo basename($path);
//顯示不帶有文件擴(kuò)展名的文件名,輸出page
echo basename($path,".php");
?>
②函數(shù)dirname()
該函數(shù)恰好與basename()相反,只需要一個(gè)參數(shù),給出一個(gè)包含有指向一個(gè)文件的全部路徑的字符串,本函數(shù)返回去掉文件名后的目錄名。該函數(shù)的使用如以下代碼所示:
<?php
$path = "/var/www/html/page.php";
echo dirname($path); //返回目錄名/var/www/html
echo dirname('c:/'); //返回目錄名c:/
?>
③函數(shù)pathinfo()
函數(shù)pathinfo()返回一個(gè)關(guān)聯(lián)數(shù)組,其中包括指定路徑中的目錄名、基本名和擴(kuò)展名三個(gè)部分。分別通過數(shù)組鍵dirname、basename和extension來引用。該函數(shù)的使用如下代碼所示。
<?php
$path = "/var/www/html/page.php";
$path_parts = pathinfo($path); //返回包括指定路徑中的目錄名、基本名和擴(kuò)展名關(guān)聯(lián)數(shù)組
echo $path_parts["dirname"]; //輸出目錄名/var/www/html
echo $path_parts["basename"]; //輸出基本名page.php
echo $path_parts["extension"]; //輸出擴(kuò)展名.php
?>
- php中目錄操作opendir()、readdir()及scandir()用法示例
- 使用PHP函數(shù)scandir排除特定目錄
- PHP獲取當(dāng)前文件所在目錄 getcwd()函數(shù)
- php文件夾與文件目錄操作函數(shù)介紹
- php中判斷文件空目錄是否有讀寫權(quán)限的函數(shù)代碼
- PHP使用glob函數(shù)遍歷目錄或文件夾的方法
- php file_exists 檢查文件或目錄是否存在的函數(shù)
- PHP遍歷目錄函數(shù)opendir()、readdir()、closedir()、rewinddir()總結(jié)
- PHP刪除非空目錄的函數(shù)代碼小結(jié)
- PHP目錄函數(shù)實(shí)現(xiàn)創(chuàng)建、讀取目錄教程實(shí)例
- php使用scandir()函數(shù)掃描指定目錄下所有文件示例
相關(guān)文章
JoshChen_php新手進(jìn)階高手不可或缺的規(guī)范介紹
所以,今天就整理了一下PHP的規(guī)范,讓大家參考參考。就像大家常說的一句話,“規(guī)矩是死的,人是活的。”。是的,但是,在規(guī)矩中成長的人都會(huì)擁有一堆非常讓人羨慕的好習(xí)慣2013-08-08真正根據(jù)utf8編碼的規(guī)律來進(jìn)行截取字符串的函數(shù)(utf8版sub_str )
真正根據(jù)utf8編碼的規(guī)律來進(jìn)行截取的字符的函數(shù),utf8版sub_str 支持1~6個(gè)字節(jié)的字符的截取,而非只針對(duì)中文,比網(wǎng)上的全2012-10-10PHP中Header使用的HTTP協(xié)議及常用方法小結(jié)
這篇文章主要介紹了PHP中Header使用的HTTP協(xié)議及常用方法,包含了各種錯(cuò)誤編碼類型及其含義,需要的朋友可以參考下2014-11-11PHP連接sql server 2005環(huán)境配置及問題解決
這篇文章主要介紹了PHP連接sql server 2005環(huán)境配置及問題解決,需要的朋友可以參考下2014-08-08