分享

js和php获取当前页面URL的各项参数

 黄三岁大爱人生 2018-04-10

javascript实现:

top.location.href   顶级窗口的地址
this.location.href  当前窗口的地址
  • 1
  • 2

PHP实现:

#测试网址1:http://localhost/blog/testurl.php?id=5
#测试网址2:http://test./index.php/show/game/?aid=12(假设配置的端口号为8080)

//获取域名或主机地址:$_SERVER['HTTP_HOST']或$_SERVER['SERVER_NAME'] #localhost #test.
//获取端口号:$_SERVER["SERVER_PORT"] #80  #8080
//获取网页地址:$_SERVER['PHP_SELF'] #/blog/testurl.php  #/index.php
//获取网址参数:$_SERVER["QUERY_STRING"] #id=5  #aid=12
//获取当前URL的路径地址:$_SERVER["REQUEST_URI"] #/blog/testurl.php?id=5 #/index.php/show/game/?aid=12
//获取用户代理(即当前页面的前一页面的URL地址):$_SERVER['HTTP_REFERER'] 
/*(可以做到防盗链作用,只有点击超链接(即<A href=...>) 
打开的页面才有HTTP_REFERER环境变量, 其它如 window.open()、 
window.location=...、window.showModelessDialog()
等打开的窗口都没有HTTP_REFERER 环境变量。)*/ 


//获取完整的url 
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
#http://localhost/blog/testurl.php?id=5
#http://test./index.php/show/game/?aid=12

//获取包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
#http://localhost:80/blog/testurl.php?id=5
#http://test.:8080/index.php/show/game/?aid=12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
//另外,获取当前设备是ios还是android的也比较常见
    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    if(strpos($userAgent,"iPhone") || strpos($userAgent,"iPad") || strpos($userAgent,"iPod")){
        echo '这是苹果公司的产品';
    }else if(strpos($userAgent,"Android")){
        echo '这是安卓系统产品';
    } else{
        echo 这是其它东西';
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

http://www.cnblogs.com/A-Song/archive/2011/12/14/2288215.html

注释1:
dirname():获取给定文件路径中的目录部分
basename():获取路径中的文件名部分,该函数与dirname()正好相反

#测试网址 E:\wamp\www\test.php
echo dirname(__FILE__); #E:\wamp\www
echo dirname(dirname(__FILE__)); #E:\wamp
echo basename(__FILE__); #test.php
  • 1
  • 2
  • 3
  • 4

注释2:获取文件扩展后缀名

$filename="123.jpg";
法一:$a=explode('.',$file);var_dump(array_pop($a)); #jpg
法二:echo substr($file, strrpos($file, '.')+1); #jpg
发三:echo substr(strrchr($file, '.'), 1); #jpg
//strrchr($a1,$a2) 函数查找字符串$a2在另一个字符串$a1中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注释3:
php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别,详见:

http://it./post/3158/

在实际程序中,应尽量使用_SERVER[“HTTP_HOST”] ,比较保险和可靠。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多