`
mw666666
  • 浏览: 23087 次
  • 性别: Icon_minigender_1
  • 来自: 保定
社区版块
存档分类
最新评论

PHP中的一些路径变量或函数

    博客分类:
  • php
阅读更多
<?php  /**  __FILE__ ,  getcwd(),  $_SERVER["REQUEST_URI"],  $_SERVER["SCRIPT_NAME"],  $_SERVER["PHP_SELF"],  $_SERVER["SCRIPT_FILENAME"],    来观察一下这些变量或函数 ...
  <?php
  /**
  __FILE__ ,
  getcwd(),
  $_SERVER["REQUEST_URI"],
  $_SERVER["SCRIPT_NAME"],
  $_SERVER["PHP_SELF"],
  $_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:
  echo “test1.php variables <br />”;
  echo “getcwd: “, getcwd(), “<br />”;
  echo “__FILE__: “, __FILE__, “<br />”;
  echo “REQUEST_URI: “, $_SERVER["REQUEST_URI"], “<br />”;
  echo “SCRIPT_NAME: “, $_SERVER["SCRIPT_NAME"], “<br />”;
  echo “PHP_SELF: “, $_SERVER["PHP_SELF"], “<br />”;
  echo “SCRIPT_FILENAME “, $_SERVER["SCRIPT_FILENAME"] , “<br />”;
  
  // 把 test2.php 包含进来, 在 test2.php 里输出上面的变量,看有什么不同:
  include_once(”test2/test2.php”);
  
  ?>
分享到:
评论

相关推荐

    PHP获取当前url路径的函数及服务器变量[定义].pdf

    PHP获取当前url路径的函数及服务器变量[定义].pdf

    PHP获取当前url路径的函数及服务器变量.pdf

    PHP获取当前url路径的函数及服务器变量.pdf

    PHP获取当前url路径的函数及服务器变量QUERY_STRING、REQUEST_URI

    PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、PHP_SELF

    使用PHP获取当前url路径的函数以及服务器变量

    PHP获取当前url路径的函数及服务器变量:代码:复制代码 代码如下:&lt;?php$path = /usr/opt/../ect/abcd;echo $_SERVER[‘DOCUMENT_ROOT’].” ”; //获得服务器文档根变量(取决于http.conf中的配置)echo $_...

    PHP 魔术变量和魔术函数详解

    魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着...

    PHP预定义超全局数组变量小结

    在全局范围内自动生效,即在函数中直接就可以使用,不用使用global关键字访问 2.超全局变量数组 a.$_SERVER 服务器变量 $_SERVER 是一个包含诸如头部信息,路径和脚本位置的数组 示例: foreach($_SERVER as $key =...

    php魔术变量用法实例详解

    本文实例讲述了php魔术变量用法,其中__DIR__是php5.3新增的,分享给大家供大家参考。具体用法分析如下: 系统常量 __FILE__ 当前文件名 __LINE__ 当前行数 __FUNCTION__ 当前函数名 __CLASS__ 当前类名 __METHOD__ ...

    PHP 代码编辑器 CodeLobster PHP Edition 5.15.0 中文多语免费版.zip

    ·类视图:(View-&gt;Window-&gt;Class View)包含所有打开的文件中的代码元素(类、函数和变量)。您可以轻松地浏览并找到您的项目在其中选择元素的所有声明。 ·在浏览器中预览 ·项目管理 ·增量查找 ·All standard ...

    PHP函数索引

    aggregation_info - 此函数是该函数的别名 aggregate_info()。 AMQPConnection::__construct - AMQPConnection创造的一个实例。 AMQPConnection::connect - 建立一个连接与AMQP broker。 AMQPConnection::disconnect...

    PHP4.0 高级篇

    9.16 复制变量内容:复制构造函数 256 9.17 返回值 257 9.18 打印信息 258 9.18.1 phpinfo()中包含输出 259 9.18.2 执行信息 260 9.19 启动和关闭函数 261 9.20 调用用户函数 261 9.21 下一步该做些什么 265 9.22 ...

    PHPWeb开发技术指南——pdf格式

    9.16 复制变量内容:复制构造函数 256 9.17 返回值 257 9.18 打印信息 258 9.18.1 phpinfo()中包含输出 259 9.18.2 执行信息 260 9.19 启动和关闭函数 261 9.20 调用用户函数 261 9.21 下一步该做些什么 265 9.22 ...

    thinkphp3.0 模板中函数的使用

    变量的来源: 1 从php分配的变量,使用assign分配 2 系统变量 3 路径替换变量 不能使用函数的变量 变量输出快捷标签 {@var}//输出Session变量 和{$Think.session.var}等效 {#var}//输出Cookie变量 和{$Think.cookie....

    解析php中获取url与物理路径的总结

    在函数或方法中您不需要使用global $_SERVER; 访问它,就如同使用 $HTTP_SERVER_VARS 一样。$HTTP_SERVER_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的变量...

    八年PHP文件管理器 v2.6.2 免费版.rar

    //2.5.9 修正了一些细节 隐藏了临时记事本和 函数查询 在编辑器右侧 修正了一些错误 打开页面如果是空白需要刷新一下 就能看到登陆窗口了 (没找到什么原因 有的浏览器 会这样) 识别 ICO文件 直接显示图标 识别 ...

    论文研究-PHP程序污点型漏洞静态检测方法.pdf

    提出基于有效路径的污点分析方法,提高了分析的准确性,实现了基于变量回溯的路径遍历算法。实现了该方法的原型系统,并对两个广泛使用的PHP应用程序进行测试,发现了6个未公开漏洞和11个已公开漏洞,证明了该系统...

    php魔术方法与魔术变量、内置方法与内置变量的深入分析

    php内置变量了:DIRECTORY_SEPARATORDIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的php内置命令,在windows上返回/,而在linux或者类unix上反悔/,就是这么个区别,通常在定义包含文件路径或者上传保存...

Global site tag (gtag.js) - Google Analytics