PHP获取请求网址的参数

能够获取用户请求网址的参数,可以做很多有意思的事情,下面举几个例子。

一、知识储备

#测试网址: 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

二、实例应用

1、301重定向

必应每日一图从jishusongshu.com/bing迁移到了api.szfx.top/bing

在jishusongshu.com/bing文件夹内添加index.php文件

<?php
$url = $_SERVER['PHP_SELF'];
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: https://api.szfx.top'.$url);//跳转到我的新域名地址
?>

jishusongshu.com/bing/api文件夹内添加index.php文件

<?php
$day = $_GET['day'];
$blur = $_GET['blur'];
$type = $_GET['type'];
$gray = $_GET['gray'];
if(!$day){
$day=0;
}
$url= 'https://api.szfx.top/bing/api/?day='.$day;
if($blur){
$url=$url.'&blur='.$blur;
}
if($type){
$url=$url.'&type='.$type;
}
if($gray){
$url=$url.'&gray='.$gray;
}
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location:'.$url);//跳转到我的新域名地址
?>

效果:访问jishusongshu.com/bing跳转api.szfx.top/bing/index.php

2、由id打开WP文章

需求分析:资源下载页面添加返回到文章功能,演示页面

https://www.jishusongshu.com/download.php?id=264

<? php
$id = $_GET['id'];
?>
<a href="https://www.jishusongshu.com/?p=<?php echo $id; ?>">返回文章</a>

注:get_the_ID()的WP函数用于获取当前文章id。

3、UA解析获取

user_agent.php文件下载:

https://cloud.jishusongshu.com/drive/php-source/php_user_agent.rar

<?php
include('user_agent.php');
$user_agent = $_SERVER['HTTP_USER_AGENT'];//获取UA代码
$ua = new CI_User_agent($user_agent);
header('Content-type: application/json');
$json_return = [];
$json_return = array(
"browser" => $ua->browser(),
"os" => $ua->platform()
);
echo json_encode($json_return, JSON_UNESCAPED_UNICODE);

返回数组:

{
browser: "Chrome",
os: "Windows 8.1"
}

由此搭建的api:https://api.szfx.top/userinfo/

三、参考资料

博客园-阿波罗任-PHP中获取当前页面的完整URL

本文采用 CC BY-NC-SA 3.0 Unported 许可,转载请以超链接注明出处。
原文地址:PHP获取请求网址的参数 作者:松鼠小
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
Source: Telegram @AmashiroNatsukiEars_NoWord Sticker
Source: Github @zhheo/Sticker-Heo
Source: github.com/k4yt3x/flowerhd
颜文字
AmashiroNatsukiEars
Heo
小恐龙
花!
上一篇
下一篇
  1. 1 Rain after Summer 羽肿
  2. 2 潮鳴り VISUAL ARTS / Key
  3. 3 Inspire Capo Productions
  4. 4 Hyacinth July
  5. 5 My Soul July
  6. 6 Best Moments (feat. Kondor) Blazo/Kondor
  7. 7 Lost Love (Instrumental) Lunnna/Janey杰尼
  8. 8 风居住的街道(Piano ver) (翻自 磯村由紀子) 饭碗的彼岸
  9. 9 Beyond The Memory July
  10. 10 メインテーマ「永遠の一瞬」 伊藤賢治
  11. 11 Journey Capo Productions
  12. 12 Flower Dance DJ Okawari
  13. 13 Righteous Path Blazo
  14. 14 いのちの名前 広橋真紀子
  15. 15 花火が瞬く夜に 羽肿
  16. 16 记得 风潮音乐
  17. 17 Encouragement Kondor
  18. 18 Rise - Epic Music John Dreamer
  19. 19 A Little Story Valentin
  20. 20 City 羽肿
  21. 21 《夜色钢琴曲》kiss the rain(翻自 YIRUMA) 赵海洋
  22. 22 Moon Flow Nomak
  23. 23 River Flows in You Yiruma
  24. 24 白昼之夜 林隆璇
  25. 25 LOVIN' YOU 押尾コータロー
  26. 26 ALONE ON THE WAY Pianoboy高至豪
  27. 27 Intro The xx
  28. 28 Somewhere July
  29. 29 我在那一角落患过伤风(钢琴版) 群星
  30. 30 Rainy Day Reminiscence Soulostar
  31. 31 Refrain 阿南亮子
  32. 32 STEPPING ON THE RAINY STREET 群星
  33. 33 Angel and Devil Elyonbeats
  34. 34 Butterfly Waltz Brian Crain
  35. 35 Mallow Flower Otokaze
  36. 36 The truth that you leave Pianoboy高至豪
  37. 37 canon in d Brian Crain
  38. 38 めぐる季節 久石譲/奥户巴寿
  39. 39 拥有 几米
  40. 40 碎月雨中奏 iw ix
  41. 41 Always With Me 木村弓/奥户巴寿
  42. 42 Everlasting Truth (Album Mix) re:plus
  43. 43 The promise Secret Garden
  44. 44 Luv Letter DJ Okawari
Rain after Summer - 羽肿
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

Loading