-
Notifications
You must be signed in to change notification settings - Fork 0
/
PHP常用技巧笔记.txt
executable file
·36 lines (33 loc) · 1.25 KB
/
PHP常用技巧笔记.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
PHP常用技巧笔记
获取当前页面的完整URL
javascript实现:
top.location.href 顶级窗口的地址
this.location.href 当前窗口的地址
#测试网址: http://localhost/blog/testurl.php?id=5
//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."<br>"; #localhost
//获取网页地址
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php
//获取网址参数
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5
//获取用户代理
echo $_SERVER['HTTP_REFERER']."<br>";
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=5
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
#http://localhost:80/blog/testurl.php?id=5
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
#http://localhost/blog
删除数组元素使用unset()。
解析URL与查询字符串使用parse_url()、parse_str(),将数组拼接成查询字符串使用http_build_query()。
例如:
去掉url地址参数中的page:
$req_Arr = parse_url($URL);
parse_str($req_Arr['query'],$arr);
unset($arr['page']);
$URL = $req_Arr['scheme'].'://'.$req_Arr['host'].$req_Arr['path'].'?'.http_build_query($arr);