• 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的值始终是直接运行的那个文件名,即你访问的哪个文件,这两个变量的值就是那个文件名,不会是包含的某个文件名。

      

      

  • 相关阅读:
    mysql常用的语句示例
    node的模块机制
    mongodb的一些技术点
    php的权限设置流程
    linux常用命令大全
    通过centos7.2搭建个人博客--------------服务器篇
    详解vuex时光机
    详解位运算符的一些特点
    一位资深程序员大牛给予Java初学者的学习路线建议
    JDBC
  • 原文地址:https://www.cnblogs.com/-beyond/p/8623016.html
Copyright © 2020-2023  润新知