• PHP中多个文件包含的问题 (二)


      首先php中有常用的两种方法将文件包含:include和require,而include_once和require_once无非就是升级版而已,这里就不阐述他们的区别,我只提一下我遇到的问题:

      先看一下有这么几个文件,文件的层级结构如下:

    • Demo/
      • dir1
        • a.php
      • dir2
        • b.php
      • c.php

      请下面这个代码:

      看代码,好像是对的,对吧,填的都是相对路径,而且路径都对,是吧!!!但是然后访问c.php,会出错,错误信息如下:

    Warning: require(./dir2/b.php): failed to open stream: No such file or directory in /path/Demo/c.php on line 2
    Fatal error: require(): Failed opening required './dir2/b.php' (include_path='.:') in /path/Demo/c.php on line 2
    

      错误信息的意思是,c.php的第2行require语句出错了,说打开文件失败,

      注意:这里只是说打开文件失败,并没有说是c.php打开./dir2/b.php失败,其实是说./dir2/b.php打开../dir1/a.php失败。

      为什么会这么说呢?不信的话,我把b.php中包含a.php的路径修改一下。

       此时,访问c.php,并不会报错。

      这里就要好好探究一下require和include再讲一个文件包含就来,到底是做了什么?是将被包含的文件的内容copy到包含的文件中吗?

  • 相关阅读:
    Restful API 指南
    git submodule 使用小结
    git 在 A 项目中引用 B 项目
    Error Permission denied when running brew cleanup
    @Scope注解设置创建bean的方式和生命周期
    spring常用注解
    Spring的AOP配置文件和注解实例解析
    java线程的状态
    java线程执行的优先级
    java创建线程的方法
  • 原文地址:https://www.cnblogs.com/-beyond/p/8623067.html
Copyright © 2020-2023  润新知