我們常常會遇到處理檔案路徑的情況。
例如:
1.檔案後綴需要取出來
2.路徑需要取出名字不取目錄
3.只需要取出路徑名中的目錄路徑
4.或解析網址中的各部份進行解析取得獨立值
5.甚至是自己組成一個url出來
... .. ..
很多地方都需要用路徑處理類別的函數。
我們把常用的路徑處理函數為大家做了標註,大家對著這個路徑處理函數進行處理即可:
功能 | |
---|---|
返回檔案的各個組成部份 | |
傳回檔案名稱 | |
檔案目錄部份 | |
網址拆解成各部份 | |
產生url 中的query字串 | |
產生一個url |
#array pathinfo ( string $路径)
功能:传入文件路径返回文件的各个组成部份
我們用具體的範例來用一下:
<?php $path_parts = pathinfo('d:/www/index.inc.php'); echo '文件目录名:'.$path_parts['dirname']."<br />"; echo '文件全名:'.$path_parts['basename']."<br />"; echo '文件扩展名:'.$path_parts['extension']."<br />"; echo '不包含扩展的文件名:'.$path_parts['filename']."<br />"; ?>
結果如下:
文件目录名:d:/www 文件全名:lib.inc.php 文件扩展名:php 不包含扩展的文件名:lib.inc
basename
string basename ( string $路径[, string $suffix ]) 功能:传入路径返回文件名 第一个参数传入路径。 第二个参数,指定我文件名到了指定字符停止。
<?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; ?>
執行結果如下
1: index 2: index.php 3: passwd
dirnamedirname(string $路径)
功能:返回文件路径的文件目录部份
<?php
dirname(__FILE__);
?>
結論:你可以執行看看是不是回傳了檔案的目錄部份。
mixed parse_url ( string $路径 )
功能:将网址拆解成各个部份
<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
var_dump(parse_url($url));
?>
結果如下:
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 $需要处理的数据)
功能:生成url 中的query字符串
<?php
//定义一个关联数组
$data = [
'username'=>'php',
'area'=>'hubei'
];
//生成query内容
echo http_build_query($data);
?>
結果如下:
http_build_url()
功能: 產生一個url
# 註:
在windows平台相當於echo "\r\n";
在unix\linux平台相當於echo "\n";
在mac平台相當於echo "\r";
下一節