php文件路徑函數(shù)
我們經(jīng)常會(huì)遇到處理文件路徑的情況。
例如:
1.文件后綴需要取出來(lái)
2.路徑需要取出名字不取目錄
3.只需要取出路徑名中的目錄路徑
4.或者把網(wǎng)址中的各個(gè)部份進(jìn)行解析取得獨(dú)立值
5.甚至是自己組成一個(gè)url出來(lái)
... ....
很多地方都需要用路徑處理類的函數(shù)。
我們把常用的路徑處理函數(shù)為大家做了標(biāo)注,大家對(duì)著這個(gè)路徑處理函數(shù)進(jìn)行處理即可:
函數(shù)名 | 功能 |
---|---|
pathinfo | 返回文件的各個(gè)組成部份 |
basename | 返回文件名 |
dirname | 文件目錄部份 |
parse_url | 網(wǎng)址拆解成各部份 |
http_build_query | 生成url 中的query字符串 |
http_build_url | 生成一個(gè)url |
pathinfo
array pathinfo ( string $路徑) 功能:傳入文件路徑返回文件的各個(gè)組成部份
我們用具體的示例來(lái)用一下:
<?php $path_parts = pathinfo('d:/www/index.inc.php'); echo '文件目錄名:'.$path_parts['dirname']."<br />"; echo '文件全名:'.$path_parts['basename']."<br />"; echo '文件擴(kuò)展名:'.$path_parts['extension']."<br />"; echo '不包含擴(kuò)展的文件名:'.$path_parts['filename']."<br />"; ?>
結(jié)果如下:
文件目錄名:d:/www 文件全名:lib.inc.php 文件擴(kuò)展名:php 不包含擴(kuò)展的文件名:lib.inc
basename
string basename ( string $路徑[, string $suffix ]) 功能:傳入路徑返回文件名 第一個(gè)參數(shù)傳入路徑。 第二個(gè)參數(shù),指定我文件名到了指定字符停止。
<?php echo "1: ".basename("d:/www/index.d", ".d").PHP_EOL; echo "2: ".basename("d:/www/index.php").PHP_EOL; echo "3: ".basename("d:/www/passwd").PHP_EOL; ?>
執(zhí)行結(jié)果如下
1: index 2: index.php 3: passwd
dirname
dirname(string $路徑) 功能:返回文件路徑的文件目錄部份
<?php dirname(__FILE__); ?>
結(jié)論:你可以執(zhí)行看看是不是返回了文件的目錄部份。
parse_url
mixed parse_url ( string $路徑 ) 功能:將網(wǎng)址拆解成各個(gè)部份
<?php $url = 'http://username:password@hostname:9090/path?arg=value#anchor'; var_dump(parse_url($url)); ?>
結(jié)果如下:
array(8) { ["scheme"]=> string(4) "http" ["host"]=> string(8) "hostname" ["port"]=> int(9090) ["user"]=> string(8) "username" ["pass"]=> string(8) "password" ["path"]=> string(5) "/path" ["query"]=> string(9) "arg=value" ["fragment"]=> string(6) "anchor" }
http_build_query
string http_build_query ( mixed $需要處理的數(shù)據(jù)) 功能:生成url 中的query字符串
<?php //定義一個(gè)關(guān)聯(lián)數(shù)組 $data = [ 'username'=>'php', 'area'=>'hubei' ]; //生成query內(nèi)容 echo http_build_query($data); ?>
結(jié)果如下:
username=php&area=hubei
http_build_url()
功能: 生成一個(gè)url
注:
PHP_EOL 常量
在 windows平臺(tái)相當(dāng)于 echo "\r\n";
在unix\linux平臺(tái)相當(dāng)于 echo "\n";
在mac平臺(tái)相當(dāng)于 echo "\r";