php檔案路徑函數(shù)
我們常常會(huì)遇到處理檔案路徑的情況。
例如:
????1.檔案後綴需要取出來(lái)
????2.路徑需要取出名字不取目錄
????3.只需要取出路徑名中的目錄路徑
????4.或解析網(wǎng)址中的各部份進(jìn)行解析取得獨(dú)立值
????5.甚至是自己組成一個(gè)url出來(lái)
????... .. ..
很多地方都需要用路徑處理類(lèi)別的函數(shù)。
我們把常用的路徑處理函數(shù)為大家做了標(biāo)註,大家對(duì)著這個(gè)路徑處理函數(shù)進(jìn)行處理即可:
功能 | |
---|---|
返回檔案的各個(gè)組成部份 | |
傳回檔案名稱(chēng) | |
檔案目錄部份 | |
網(wǎng)址拆解成各部份 | |
產(chǎn)生url 中的query字串 | |
產(chǎn)生一個(gè)url |
#array pathinfo ( string $路徑)
功能:傳入文件路徑返回文件的各個(gè)組成部份
我們用具體的範(fàn)例來(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
dirnamedirname(string $路徑)
功能:返回文件路徑的文件目錄部份
<?php
dirname(__FILE__);
?>
結(jié)論:你可以執(zhí)行看看是不是回傳了檔案的目錄部份。
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é)果如下:
http_build_url()?
功能: 產(chǎn)生一個(gè)url
# 註:
在windows平臺(tái)相當(dāng)於echo "\r\n";
在unix\linux平臺(tái)相當(dāng)於echo "\n";
在mac平臺(tái)相當(dāng)於echo "\r";