php路徑目錄解析函數dirname basename pathinfo區別及實例

php獲取路徑、目錄或文件名稱,咱們常常會使用到dirname()、basename()、pathinfo()這三個函數,本文章向你們詳細介紹這三個函數的區別以及使用實例,須要的朋友能夠參考一下。php

dirname()函數html

string dirname ( string $path )

php dirname函數獲取給定文件路徑中的目錄部分,參數$path是一個文件路徑的字符串web

dirname()函數常常與魔術變量__FILE__一塊兒使用,魔術變量__FILE__表示當前運行文件的完整路徑和文件名。數組

dirname(dirname(__FILE__));獲得的是文件上一層目錄名函數

dirname(__FILE__);獲得的是文件所在層目錄名網站

如:url

<?php
/* 做者:碼農教程 網站地址: http://www.manongjc.com */
echo dirname("c:/testweb/home.php")."<br/>";
echo dirname("/testweb/home.php")."<br/><br/>";

echo __FILE__ ."<br/>";
echo dirname(__FILE__)."<br/>";
echo dirname(dirname(__FILE__));
?>

運行結果爲:spa

c:/testweb
/testweb

E:\wamp\www\test.php
E:\wamp\www
E:\wamp

 

basename()函數code

string basename ( string $path [, string $suffix ] )

php basename()函數獲取路徑中的文件名部分,該函數與dirname()正好相反(dirname獲取路徑中的目錄部分)。htm

第一個參數$path表示一個包含有指向一個文件的全路徑的字符串,第二個參數表示若是文件名是以suffix結束的,那這一部分也會被去掉。
實例以下:

<?php
/* 做者:碼農教程 http://www.manongjc.com/article/30.html */
var_dump(basename("/etc/sudoers.d", ".d"));
var_dump(basename("/etc/passwd"));
var_dump(basename("/etc/"));
var_dump(basename("."));
var_dump(basename("/"));
?> 

運行結果:

string(7) "sudoers"
string(6) "passwd"
string(3) "etc"
string(1) "."
string(0) ""

 

pathinfo()函數

php pathinfo函數用於解析路徑,將路徑解析爲一個數組,數組包括目錄名、完整的文件名、文件擴展名和文件名(不包括文件後綴)四個值,而且這四個值的鍵名分別爲dirname、basename、extension和filename,咱們能夠經過這四個鍵名來獲取目錄名、完整的文件名、文件擴展名和文件名的值。

語法:

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

參數:

  • path 要解析的路徑。
  • options 若是指定了,將會返回指定元素;它們包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION 或 PATHINFO_FILENAME。 若是沒有指定 options 默認是返回所有的單元。

實例:

<?
/* 做者:碼農教程 http://www.manongjc.com/article/30.html */
$test = pathinfo("http://localhost/index.php");
print_r($test);
?>

結果以下

Array
(
[dirname] => http://localhost //url的路徑
[basename] => index.php //完整文件名
[extension] => php //文件名後綴
[filename] => index //文件名
)
相關文章
相關標籤/搜索