parse_url() basename() pathinfo() dirname() 用法 parse_url() 是一電腦函數,功能是解析一個 URL 並返回一個關聯數組,包含在 URL 中出現的各種組成部分。本函數不是用來驗證給定 URL 的合法性的,只是將其分解為下麵列出的部分。不完整的 ...
parse_url() basename() pathinfo() dirname() 用法
parse_url()
是一電腦函數,功能是解析一個 URL 並返回一個關聯數組,包含在 URL 中出現的各種組成部分。
本函數不是用來驗證給定 URL 的合法性的,只是將其分解為下麵列出的部分。不完整的 URL 也被接受,parse_url() 會嘗試儘量正確地將其解析。
範例1
$usr = "https://baike.baidu.com/item/parse_url/3067021?fr=aladdin"; print_r(parse_url($usr));
Array //輸出結果
(
[scheme] => https
[host] => baike.baidu.com
[path] => /item/parse_url/3067021
[query] => fr=aladdin
)
parse_usr()有兩個參數,第一個參數是url地址,第二個參數是你想要的部分(這個可寫可不寫),第二個參數不寫返回的是關聯數組。
範例2
$url = 'http://username:password@hostname/path?arg=value#anchor'; var_dump(parse_url($url)); array(7) { //輸出結果 ["scheme"]=> string(4) "http" ["host"]=> string(8) "hostname" ["user"]=> string(8) "username" ["pass"]=> string(8) "password" ["path"]=> string(5) "/path" ["query"]=> string(9) "arg=value" ["fragment"]=> string(6) "anchor" }
以下是第二個參數與以上輸出一一對應可得到對應的值
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_PORT
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
如:
$url = 'https://baike.baidu.com/item/parse_url/3067021?fr=aladdin'; print_r(parse_url($url,PHP_URL_HOST)); baike.baidu.com //輸出結果
basename()
basename -- 返迴路徑中的文件名部分。給出一個包含有指向一個文件的全路徑的字元串,本函數返回基本的文件名。如果文件名是以 suffix 結束的,那這一部分也會被去掉。在 Windows 中,斜線(/)和反斜線(\)都可以用作目錄分隔符。在其它環境下是斜線(/)。
範例1
$path = "http://www.test.com/html/test.php"; $file = basename($path); print_r($file); test.php //輸出結果
單是這個basename有個問題(這個是我認為的它會把test.php後面的內容一起輸出出來)
缺點範例
$path = "http://www.test.com/html/test.php?k=1"; $file = basename($path); print_r($file);
test.php?k=1 //輸出結果
它可以結合上一個函數使用!
範例
$path = "http://www.test.com/html/test.php?k=1"; $file = parse_url($path,PHP_URL_PATH); $f = basename($file); print_r($f); test.php //輸出結果
pathinfo()
返回一個關聯數組包含有 path 的信息。包括以下的數組單元:。
範例1
$path = "http://www.test.com/html/test.php?k=1"; $path_parts = pathinfo($path); print_r($path_parts); Array //輸出結果 ( [dirname] => http://www.test.com/html [basename] => test.php?k=1 [extension] => php?k=1 [filename] => test )
可以通過參數 options 指定要返回哪些單元。它們包括:PATHINFO_DIRNAME,PATHINFO_BASENAME,PATHINFO_FILENAME 和 PATHINFO_EXTENSION。
範例2
$path = "http://www.test.com/html/test.php?k=1"; $path_parts = pathinfo($path,PATHINFO_FILENAME); print_r($path_parts); test //輸出結果
dirname()
dirname -- 返迴路徑中的目錄部分。給出一個包含有指向一個文件的全路徑的字元串,本函數返回去掉文件名後的目錄名。
範例
$path = "http://www.test.com/html/test.php?k=1"; $dir = dirname($path); print_r($dir); http://www.test.com/html //輸出結果