
正文
php解析url数据 php parse_url
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
PHP
解析
URL函数:
parse_url详解
parse_url
—
解析
URL,返回其组成部分
说明
array
parse_url
(
string
$url
)
本函数解析一个
URL
并返回一个关联数组,包含在
URL
中出现的各种组成部分。
本函数不是用来验证给定
URL
的合法性的,只是将其分解为下面列出的部分。不完整的
URL
也被接受,parse_url()
会尝试尽量正确地将其解析。
参数
url
要解析的
URL
返回值
对严重不合格的
URL,parse_url()
可能会返回
FALSE
并发出
E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个)php解析url数据:
scheme
–
如
http
host
port
user
pass
path
query
–
在问号
?
之后
fragment
–
在散列符号
#
之后
范例
parse_url()
例子
复制代码
代码如下:
?php
$url
=
'';
print_r(parse_url($url));
?
以上例程会输出php解析url数据:
Array
(
[scheme]
=
http
[host]
=
hostname
[user]
=
username
[pass]
=
password
[path]
=
/path
[query]
=
arg=value
[fragment]
=
anchor
)
常常我们会传送一大串网址,然后要解析的话,只能不断地去切token来解析。但是在php中,一定要学会使用前人所写过的函式,这样开发速度才会快别人一截。当然,要解析网址的话,就得去找相关的指令,而今天要介绍的,就是php中的parse_url这个函式。
这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed
parse_url
(
string
$url
[,
int
$component=
-1
]
)
而php官方举了一个例子,而我将他扩充如下,以方便讲解。
复制代码
代码如下:
?php
$url
=
';arg2=value2#anchor';
print_r(parse_url($url));
?
首先,先看一下这个程式的输出结果
Array
(
[scheme]
=
http
[host]
=
hostname
[user]
=
username
[pass]
=
password
[path]
=
/path
[query]
=
arg1=value1arg2=value2
[fragment]
=
anchor
)
其中,scheme是指他走的路线,而host则是站台网址,user则是使用者名称,pass则是密码,path则是路径,query则是参数,fragment则是锚点。
而在「$component」的部份,则是有以下的参数可供传递。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而这几个参数则分别代表了Array中的scheme、host、user、pass、path、query和fragment。
同样,举例来说,如果使用PHP_URL_PATH和PHP_URL_QUERY来说,以下为他的示范。
复制代码
代码如下:
?php
$url
=
';arg2=value2#anchor';
echo
nl2br(parse_url($url,
PHP_URL_PATH)."\n");
echo
nl2br(parse_url($url,
PHP_URL_QUERY)."\n");
?
而输出结果将如下:
/path
arg1=value1arg2=value2
相关问答
Q1: 急!!php获取url参数
首先这里php解析url数据的referer是指php解析url数据你点的是这个链接进入上传页面的。
你点了上传操作php解析url数据,就又有了上传的请求urlphp解析url数据,按你的代码中:
U('album/imageupload',array('id'=albumid))
上传请求链接里你只传了这个所以$_GET['id']只会接收到albumid
解决办法:
方法一:
看看你的上传插件支持不支持附加post传参,支持的话在上传插件中传入,php用$_POST['id']就能得到id值
方法二:
上传链接中另加一个参数
U('album/imageupload',array('id'=albumid,
'albumid'=$_GET['id']))
php里用$_GET['albumid']接收
Q2: php获取url参数
1、在当前网页echo出变量$_SERVER['HTTP_HOST']即可获取域名或主机地址。
2、在当前网页echo出变量$_SERVER['PHP_SELF']即可获取网页地址。
3、在当前网页echo出变量$_SERVER["QUERY_STRING"]即可获取网址参数。
4、在当前网页echo出变量$_SERVER['HTTP_REFERER']即可获取用户代理。
5、在当前网页echo出变量$_SERVER['HTTP_HOST']点上$_SERVER['REQUEST_URI']即可获取完整的url,后面带参数自己点上即可。
6、也是点上,用个变量保存好输出。
Q3: php,如何把url字符串里面的参数解析出来
//url中传递的参数,get形式$userid = @$_GET['userid'];//你也可以打印出所有的Get参数, 可以更明白其中的奥妙print_r($_GET); //如果是表单/post提交,则用$_POST , 用法和$_GET类似
关于php解析url数据和php parse_url的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








