zoukankan      html  css  js  c++  java
  • PHP中多个文件包含的问题 (一)

      使用require或者include来包含文件时,包含的文件的内容相对性,这个很容易搞混,所以记录一下。

      这个相对性包括

        __DIR__,__FILE__,$_SERVER['PHP_SELF'],$_SERVER['SCRIPT_NAME']

      比如看下面的例子:

    • test/
      • dir1
        • a.php
      • dir2
        • b.php
      • index.php

      文件层级结构如上:

      

      访问dir2/b.php,输入内容如下:

    aaaaaa
    dir: /Library/WebServer/Documents/test/dir1
    file: /Library/WebServer/Documents/test/dir1/a.php
    php_self: /test/dir2/b.php
    script_name: /test/dir2/b.php
    aaaaaaa
    
    bbbbbbb
    dir: /Library/WebServer/Documents/test/dir2
    file: /Library/WebServer/Documents/test/dir2/b.php
    php_self: /test/dir2/b.php
    script_name: /test/dir2/b.php
    bbbbbbb
    

      从上面的例子中可以得出下面的结论:

      1、无论A文件是否被包含进其他文件中,在该A文件中的__DIR__始终是该A文件真实的所在目录名,只要文件的位置不变,__DIR__值就不会改变,不会变成包含他的那个文件,即使执行的是包含他的那个文件。

      2、无论A文件是否被包含进其他文件中,在该A文件中的__FILE__始终是该A文件真实的所在文件名,只要文件名不变,__FILE__值就不会改变,不会变成包含他的那个文件,即使执行的是包含他的那个文件。

      3、$SERVER全局数组中的PHP_SELF和SCRIPT_NAME的值始终是直接运行的那个文件名,即你访问的哪个文件,这两个变量的值就是那个文件名,不会是包含的某个文件名。

      

      

  • 相关阅读:
    redis配置文件redis.conf总结
    react井字棋小游戏实现及优化
    springboot 如何在请求进入controller之前改变body中的值
    记录一个Springboot启动的问题->sprinboot正常启动但是tomcat却没有启动
    websocket-基于springboot的简单实现
    JVM-垃圾回收
    gRPC-Java实践
    Protocol Buffers—-java
    串口通信学习-基础
    Modbus通信协议学习
  • 原文地址:https://www.cnblogs.com/-beyond/p/8623016.html
Copyright © 2011-2022 走看看