很多站长朋友们都不太清楚php传地址解析,今天小编就来给大家整理php传地址解析,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 thinkphp怎么通过get方式传递一个网址 2、 如何通过php获取提交页面的URL? 3、 PHP传值和传引用,传地址的区别 4、 php中使用parse_url()对网址进行解析的实现代码(parse_url详解) 5、 PHP, get传值,参数为类似于http地址如何解析? thinkphp怎么通过get方式传递一个网址你可以试试通过解析get原文来获取这个地址,如$url = $_SERVER['REQUEST_URI'],然后手动截取。
另外,”为了登录之后返回登录前的那个页面”这个一般也不是这么搞。你的页面肯定会进行登录检测,当登录检测失败的时候可以将当前页面的 $_SERVER['REQUEST_URI'] 保存到session(例如$_SESSION['last_request'])中,然后登录成功后检查session中是否指定的要跳转的url,如果有就跳转到该地址并清空url信息,否则转向默认地址。以下是例子
any.php
if(empty($_SESSION['login'])) {
$_SESSION['last_request'] = $_SERVER['REQUEST_URI'];
header('Location: login.php');exit;
}
login.php
if (checkLogin($user, $password)) {
if (! empty($_SESSION['last_request'])) {
$url = $_SESSION['last_request'];
$_SESSION['last_request'] = false;
} else {
$url = '/';
}
header("Location: {$url}");exit;
}
如何通过php获取提交页面的URL?在PHP的开发中我们经常会通过网址URL向另一个网页传递参数的问题。在这个过程中我们首先需要获取到当前页面的URL,然后将URL中各个参数的值保存到变量中。整个过程较为简单,主要涉及到$_SERVER的用法。
1、$_server['http_host'],作用:获取网址域名,如(,这是波波的一个博客,暂且做例子吧)。
2、$_SERVER["PHP_SELF"],作用:获取网页地址,如(/code/445.html)。
3、$_SERVER["QUERY_STRING"],作用:获取网址URL参数,待会我们会在实例中用到。
4、$_SERVER["HTTP_REFERER"],作用:获取用户的代理。
通过上述说明我们基本上已经了解了$_server的常用方法,下面我们首先通过PHP代码获取当前网页网址中传递的参数。对参数进行解析并输出到屏幕上。请看源代码:
<?php
$para=urldecode($_SERVER["QUERY_STRING"]);//避免网址参数中文乱码
//举例url=";b=bbbbc=cccc"
//$para='a=aaaab=bbbbc=cccc';
$cont=get_data($para);
echo$cont['a'];//屏幕打印aaaa
functionget_data($str){
$data=array();
$parameter=explode('',end(explode('?',$str)));
foreach($parameteras$val){
$tmp=explode('=',$val);
$data[$tmp[0]]=$tmp[1];
}
return$data;
}
?>
PHP传值和传引用,传地址的区别传值和传引用、传地址的区别:
1、传值,是把实参的值赋值给行参
那么对行参的修改,不会影响实参的值
2、传地址
是传值的一种特殊方式,只是他传递的是地址,不是普通的如int
那么传地址以后,实参和行参都指向同一个对象
3、传引用
真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已
对行参的修改将影响实参的值
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。否则会返回一个关联数组,其组成部分为(至少有一个):
scheme
–
如
http
host
port
user
pass
path
query
–
在问号
?
之后
fragment
–
在散列符号
#
之后
范例
parse_url()
例子
复制代码
代码如下:
<?php
$url
=
'';
print_r(parse_url($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
PHP, get传值,参数为类似于http地址如何解析?可以使用urldecode进行解码,urldecode使用方法如下:
urldecode — 解码已编码的 URL 字符串
string urldecode ( string $str )
解码给出的已编码字符串中的任何 %##。 加号('+')被解码成一个空格字符。
str:要解码的字符串。
返回值:
返回解码后的字符串。
关于php传地址解析的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php传地址解析 php解析url的详细内容...