php获取当前url路径 php服务器变量

php中文网
发布: 2016-07-25 09:12:59
原创
1250人浏览过

在php编程中编程,获取当前url地址,以及服务器变量,主要使用如下全局变量: $_server["query_string"],$_server["request_uri"],$_server["script_name"],$_server["php_self"]

1,$_server["query_string"] 说明:查询(query)的字符串 2,$_server["request_uri"] 说明:访问此页面所需的uri 3,$_server["script_name"] 说明:包含当前脚本的路径 4,$_server["php_self"] 说明:当前正在执行脚本的文件名 实例: 1,http://bbs.it-home.org/ (直接打开主页) 结果: $_server["query_string"] = "" $_server["request_uri"] = "/" $_server["script_name"] = "/index.php" $_server["php_self"] = "/index.php" 2,http://bbs.it-home.org/?p=222 (附带查询) 结果: $_server["query_string"] = "p=222" $_server["request_uri"] = "/?p=222" $_server["script_name"] = "/index.php" $_server["php_self"] = "/index.php" 3,http://bbs.it-home.org/index.php?p=222&q=biuuu 结果:

  1. //处理request_uri

  2. if(!isset($_server['request_uri'])) {
  3. $_server['request_uri'] = $_server['php_self'];
  4. if(isset($_server['query_string'])) $_server['request_uri'] .= '?'.$_server['query_string'];
  5. }
  6. if($_server['request_uri']) {
  7. $temp = urldecode($_server['request_uri']);
  8. if(strexists($temp, ' $_get = shtmlspecialchars($_get);//xss
  9. }
  10. }
  11. echo $_server['document_root']."
    "; //获得服务器文档根变量

    麦当秀MindShow AiPPT
    麦当秀MindShow AiPPT

    麦当秀|MINDSHOW是一款百万用户正在使用的三分钟生成一份PPT的AI应用系统。它利用引领前沿的人工智能技术,能够自动完成演示内容的设计。

    麦当秀MindShow AiPPT 224
    查看详情 麦当秀MindShow AiPPT
  12. echo $_server['php_self']."
    "; //获得执行该代码的文件服务器绝对路径的变量
  13. echo __file__."
    "; //获得文件的文件系统绝对路径的变量
  14. echo dirname(__file__); //获得文件所在的文件夹路径的函数
  15. ?>
  16. //server函数
  17. $_server["http_referer"]=http://localhost/lianxi/
  18. $_server["http_accept_language"]=zh-cn
  19. $_server["http_accept_encoding"]=gzip, deflate
  20. $_server["http_user_agent"]=mozilla/4.0 (compatible; msie 6.0; windows nt 5.2; .net clr 1.1.4322; .net clr 2.0.50727)
  21. $_server["http_host"]=localhost
  22. $_server["http_connection"]=keep-alive
  23. $_server["path"]=c:windowssystem32;c:windows;c:windowssystem32wbem;c:program filescommon filesdobegl;c:program filesmysqlmysql server 5.0in;c:php;c:phpext
  24. $_server["systemroot"]=c:windows
  25. $_server["comspec"]=c:windowssystem32cmd.exe
  26. $_server["pathext"]=.com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh
  27. $_server["windir"]=c:windows
  28. $_server["server_signature"]=
  29. apache/2.0.55 (win32) php/5.1.1 server at localhost port 80 \使用的何服务器
  30. $_server["server_software"]=apache/2.0.55 (win32) php/5.1.1
  31. $_server["server_name"]=localhost \服务器名称
  32. $_server["server_addr"]=127.0.0.1
  33. $_server["server_port"]=80 \服务器端口
  34. $_server["remote_addr"]=127.0.0.1
  35. $_server["document_root"]=d:/lianxi \网站的主目录
  36. $_server["server_admin"]=sss@163.com \安装apache时设置的邮箱
  37. $_server["script_filename"]=d:/lianxi/lianxi/servervalues.php \当前的网页的绝对路径,
  38. $_server["remote_port"]=1076 \远程端口
  39. $_server["gateway_interface"]=cgi/1.1
  40. $_server["server_protocol"]=http/1.1
  41. $_server["request_method"]=get
  42. $_server["query_string"]=\获取?号后面的内容
  43. $_server["request_uri"]=例子:/lianxi/servervalues.php?a=1&b=2
  44. $_server["script_name"]=例子:/lianxi/servervalues.php
  45. $_server["php_self"]=/lianxi/servervalues.php \返回当前网页的相对路径.
  46. $_server["request_time"]=1179190013 \运行时间 单位为十万分之一毫秒
  47. $_server["argv"]=array
  48. $_server["argc"]=0
复制代码

例2:

  1. /**
  2. __file__ ,
  3. getcwd(),
  4. $_server["request_uri"],
  5. $_server["script_name"],
  6. $_server["php_self"],
  7. $_server["script_filename"],
复制代码

这些变量或函数的异同. 假设有一个请求地址为: http://localhost:8080/test.php/age=20 而test.php 的完整路径是: d:/server/www/example/test.php 1)、getcwd() 将得到浏览器请求的页面文件所在的目录. 即test.php 文件所在的目录: d:/server/www/example/ , 如果在test.php 执行了 require 或 include 语句, 比如 inculde(”test_dir/test2.php”), 那么在 test2.php 里 getcwd()函数 返回的也将是 test.php 所在的目录. 2)、__file__ 一个魔术变量, 用它将得到 __file__ 变量所在文件的完整路径, 比如: test.php 里 __file__ 将得到 d:/server/www/example/test.php , test_dir/test2.php 里的 __file__ 将得到 d:/server/www/example/test_dir/test2.php 3)、$_server["script_filename"] 将得到浏览器请求的页面文件的完整路径. test.php 和 test_dir/test2.php 里用 $_server["script_name"] 都将得到 d:/server/www/example/test.php. 4)、$_server["script_name"] 将得到浏览器请求的页面文件的文件名,注意: 与 $_server["script_name"] 不同, 此变量只得到文件名而不包含路径, 在test.php 与 test_dir/test2.php 用$_server["script_name"] 得到的都将是 test.php. 当然, 在test.php 与 test_dir/test2.php 执行 basename($_server["script_filename"]) 与 $_server["script_name"] 相同. 执行 在test.php 与 test_dir/test2.php 执行 realpath(”test.php”) 得到的结果与 $_server["script_filename"] 相同. 5)、$_server["php_self"] 将得到浏览器请求页面的文件名, 并剥掉问号 ? 后的内容, 注意:不包含路径, 比如在客户端里请求 http://localhost:8080/test.php?age=20&name=tom, 那么test.php 和 test_dir/test2.php 的 $_server["php_self"] 都将得到 “test.php”。“age=20&name=tom”被剥掉。 而如果客户端里请求 http://localhost:8080/test.php/age=20&name=tom, 那么test.php 和 test_dir/test2.php 的 $_server["php_self"] 都将得到 “test.php/age=20&name=tom”。 6)、$_server["request_uri"] 将得到浏览器请求页面的文件名, 以及文件名之后的所有内容(注意: 井号 # 之后的内容将被略去), 比如在客户端里请求 http://localhost:8080/test.php?age=20&name=tom, 那么test.php 和 test_dir/test2.php 的 $_server["reuest_uri"] 都将得到 “test.php”。“age=20&name=tom”被剥掉。 而如果客户端里请求 http://localhost:8080/test.php/age=20&name=tom, 那么test.php 和 test_dir/test2.php 的 $_server["request_uri"] 都将得到 “test.php/age=20&name=tom”。 test.php:

  1. echo “test1.php variables
    ”;
  2. echo “getcwd: “, getcwd(), “
    ”;
  3. echo “__file__: “, __file__, “
    ”;
  4. echo “request_uri: “, $_server["request_uri"], “
    ”;
  5. echo “script_name: “, $_server["script_name"], “
    ”;
  6. echo “php_self: “, $_server["php_self"], “
    ”;
  7. echo “script_filename “, $_server["script_filename"] , “
    ”;
  8. // 把 test2.php 包含进来, 在 test2.php 里输出上面的变量,看有什么不同:
  9. include_once(”test2/test2.php”);
  10. ?>
复制代码


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号