php-文件包含

 


即在php脚本中引入其他脚本或文件

作用:更好的组织程序和页面,而且可以利用他们查到代码的一些冗余

关于目录:

  • ./ 表示当前脚本所在目录

  • ../ 表示当前脚本上一级子目录

  • ../../ 表示当前脚本上一级父目录,即上一级子目录的子目录,依此类推

 

1、文件加载原理

  • 在文件加载(include或者require)的时候,系统会自动的将被包含文件中的代码相当于嵌入到当前文件中

  • 加载位置:在哪加载,对应的文件中的代码嵌入的位置就是对应的include位置。

  • 在php中被包含的文件是单独进行编译的

  • php文件在编译的过程中如果出现了语法错误,那么会失败(不会执行),但是如果被包含文件有错误的时候,系统会在执行到包含include这条语句的时候才会报错

 

2、php代码的执行流程

  • 读取代码文件(php程序)

  • 编译:将php代码转换成字节码(生成opcode)

  • zendengine来解析opcode,按照字节码进行逻辑运算

  • 转换成对应的html代码

 

3、include和require

  • include和include_once:

    • include:系统碰到一次就会执行一次,如果对同一个文件进行多次加载,那么系统会执行多次

    • include_once:系统只执行一次

  • require和include:

    • 报错的形式不一样

    • include:错误级别较轻,不影响其他代码的执行

    • require:错误级别较高,这后面的代码将不会执行

 

4、文件加载路径

文件在加载的时候需要指定文件路径才能保证PHР正确的找到对应的文件。· 文件的加载路径包含两大类:

  • 1、绝对路径。

    从磁盘的根目录开始(本地绝对路径)

    • Windows:盘符C:/路径/PHP文件

    • Linux:/路径/PHP文件

    从网站根目录开始(网络绝对路径)

    • /:相对于网站主机名字对应的路径。

    • Localhost/index.php->E:/server/apache/htdocs/index.php

  • 2、相对路径:从当前文件所在目录开始的路径

    • .|./:表示当前文件夹

    • ../:上级目录〔当前文件夹的上一层文件夹)

  • 3、区别

    • 绝对路径相对效率偏低,但是相对安全(路径不会出错)

    • 相对路径相对效率偏高,但是容易出错(相对路径会发生改变)

    • include_once 'in.php'   //默认当前目录
      include_once './in.php' //指定当前目录
      include_once '../htdocs/in.php'   //在上一级目录下的htdocs里面的in.php

      include_once 'D:\Program Files (x86)\php\in.php'   //绝对路径

       

5、文件嵌套包含

一个文件包含另一个文件,同时被包含的文件里面又包含里其他文件

  • 嵌套包含的时候容易出现相对路径出错的问题:相对路径会因为文件的包含而改变(./和../)win下面,每一个文件夹下面都有.和..的文件夹

 

posted @ 2020-09-08 16:32  山鬼不识字  阅读(162)  评论(0编辑  收藏  举报