对url进行解析,比如要从url中获取protocol、host、port、Query等信息,我们可以通过几个函数实现。
parse_url() //- 返回protocol,post,port,query等信息
pathinfo() //- 返回文件路径的信息
dirname() //- 返回路径中的目录部分
basename() //- 返回路径中的文件名部分
1.parse_url()
mixed parse_url ( string $url [, int $component = -1 ] )
说明:解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
url
The URL to parse. Invalid characters are replaced by _.
component
指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string;
指定为 PHP_URL_PORT ,将返回一个 integer 的值。
2.pathinfo()
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 默认返回全部的单元。
3.basename()
string basename ( string $path [, string $suffix ] )
说明:返回路径中的文件名信息
path
路径,在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。
suffix
如果文件名是以 suffix 结束的,那这一部分也会被去掉。
4.dirname()
string dirname ( string $path )
说明:返回去掉文件名后的目录名
path
路径,在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。
假设$url = ‘https://www.google.com:80/search?q=php&sourceid=chrome&ie=UTF-8‘;
四个函数结果如下: