檔案路徑函數

檔案路徑函數

我們常常會遇到處理檔案路徑的情況。

例如:

1.     檔案後綴需要取出來

2.     路徑需要取出名字不取目錄

3.     只需要取出路徑名中的目錄路徑

4.     或將網址中的各部份解析取得獨立值

#5.     甚至是自己組成一個url出來
....

很多地方都需要用路徑處理類別的函數。

我們把常用的路徑處理函數為大家做了標註,大家對著這個路徑處理函數進行處理即可:

QQ截图20161009113310.png

pathinfo

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

##dirname

dirname(string $路徑) 

功能:返回檔案路徑的檔案目錄部份

<?php
dirname(__FILE__);
?>

結論:你可以執行看看是不是回傳了檔案的目錄部份。

parse_url


parse_url

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)
["用戶"]=> 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'=>'liwenkai',
        'area'=>'hubei'
         ];
 
//生成query内容
echo http_build_query($data);
?>

結果如下:

username=liwenkai&area=hubei


http_build_url() 

功能: 產生一個url# ###########

註:
PHP_EOL 常數
在windows平台相當於echo "\r\n";
在unix\linux平台相當於echo "\n";
在mac平台相當於echo "\r";

 


繼續學習
||
<?php $url = 'http://username:password@hostname:9090/path?arg=value#anchor'; var_dump(parse_url($url)); ?>