在其他web编程语言中相对路径都是以当前处理文件目录为基准,而在php中并非如此。php中相对路径是以当前工作目录为基准的,并非以当前处理文件目录为基准,这样在开发过程中带来了不少的麻烦。比如会遇到一下问题

aaa

a.php

bbb

b.php

b1.php

ccc

c.php

以上目录中c.php中require(../b1.php),在a.php中require(bbb/ccc/c.php),这样就会出错,因为a.php中会在../中找b1.php,会找不到b1.php文件而报错,解决以上引用问题的一般做法有两种:

一、在a.php中加上define('ROOT_PATH',dirname(__FILE__));

之后再加上
     require ROOT_PATH/bbb/ccc/c.php

二、 在根目录下新建一个文件global.php,内容包含chdir(dirname(__FILE__));

在每个文件中都将这个global.php包含进来。

综上所述,如果a文件引用了非同目录的b文件,且这个a文件将被非同目录的c文件引用,那么就要在a文件中用dirname(__FILE__)来包含b文件,否则在执行c文件时,会报错找不到b文件。

php文件之间相互引用路径问题的一般处理方法相关推荐

  1. maven学习笔记第一节一-maven install 模块之间相互引用

    为什么80%的码农都做不了架构师?>>>    我们再做项目的时候,有很多模块是可以重复使用的,maven提供了很好的解决模块之间相互引用的方法,具体流程如下: 1.建立共用模块 2 ...

  2. 毕业设计出现的一个严重错误----文件不能相互引用

    昨晚大概1点,突然点某几个链接,出现了"你指定的网站不能访问,链接错误"这样的情况,然点击其它的网页却没有错误,一段时间极度郁闷,知道1点半没弄出来 今天下午经过一番删除测试,终于 ...

  3. golang 相互引用_Go 不同文件之间的引用

    同一个包里面,不同文件之间,不需要 import,直接用就好.不同包的话,需要引用包,只能使用大写字母开头的方法 ,变量 等等,小写子母开头的只能包内使用. 简单来说 :大写字母开头的变量,方法暴露给 ...

  4. 多Resource文件的相互引用与合并问题及其解决方案

    我们都知道在WPF中,所有的控件都有Resources属性,里面可以放Resource.一般比较常用的Resource位置就是Application的Resource和各个Window的Resourc ...

  5. qt如何把父窗口的变量传给子窗口_父窗口和iframe子窗口之间相互传递参数和调用函数或方法...

    1.父窗口向子窗口传递参数: 可以在url中添加参数:2.html?a=1&b=2&c=3 然后在子页面上可用js解析,提供一个函数: function getQueryStr(sAr ...

  6. python:关于py文件之间相互import的问题

    问题背景 调试脚本时,遇到一个问题:ImportError: cannot import name 'A' from 'study_case.a' (/Users/rchera/PycharmProj ...

  7. stack - all - 有道云笔记内部文件如何相互引用

    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. 选中笔记文件 -> 点击鼠标右键 -> 复制引用链接 选中指定位置 -> 点击鼠标右键 -&g ...

  8. matlab 文件之间相互调用实例

    效果: 找到按钮的回调 function pushbutton1_Callback(hObject, eventdata, handles) cd 'Deploy Nodes' %square_ran ...

  9. springboot 模块引用_SpringBoot项目之间相互引用

    祝大家新年快乐,有任何问题可与我联系: 有这样一个需求,有两个可以独立部署的SpringBoot项目A和B,遇到下面这些场景: A和B需要合并成一个工程部署 A需要引用B中service层的功能,反之 ...

最新文章

  1. win8.1 无法安装 net framework3.5的解决办法
  2. 使用SQLite学习SQL
  3. 第七十二节,文本样式
  4. 【NET CORE微服务一条龙应用】第三章 认证授权与动态权限配置
  5. 在已交出句柄的QWidget上叠加透明形状
  6. DataNode启动后自动停止的问题( Incompatible clusterIDs in /xxx/xxx;namenode clusterID = xxxx;datanode clusterI)
  7. Python打印格式化与字符串
  8. linux中的改变bin级别,Linux常用命令
  9. 数据结构之图:加权无向图与寻找最小生成树,Python——27
  10. 【Word2Vec】word2vec是如何得到词向量的?
  11. Python使用twisted包进行网络通信
  12. CAD格式DWF嵌入到自己的网页中展示--Autodesk Design Review
  13. 赛尔译文 | 基础模型的机遇与风险 (四)
  14. 我的家庭私有云计划-20
  15. Windows远程桌面命令mstsc-远程桌面大小配置
  16. 网站运营手册_分享几款运营必备软件合集,欢迎补充
  17. c语言:“有一个已排好序的数组,要求输入一个数后,按原来的规律将它插入数组中” 的程序分析及详细代码
  18. 移动应用性能测试简介
  19. 华光昱能针对工程光纤布线的痛点?常见问题及解决方案
  20. 用Canvas为网页添加动态背景

热门文章

  1. Thinking in React Implemented by Reagent
  2. 一切皆文件的编程思想
  3. Android studio听云接入另外一种方式
  4. HeadFirst 设计模式 - Chapte5 单例模式
  5. 字符指针,字符数组,双引号的字符串的区别与联系
  6. svn的一些相关资料
  7. careercup-中等难度 17.5
  8. Oracle数据库迁移
  9. Hibernate最佳实践
  10. 数字转换为字符的L受哪个参数影响