在写PHP程序时,经常要用到include或require包含其他文件,但是各文件里包含的文件多了之后,就会产生路径问题。

如下目录:

<web>(网站根目录)
 ├<A>文件夹
 │ │
 │ └1.php
 ├<B>文件夹
 │ │
 │ └2.php
 └index.php

现在根目录下的index.php要包含A文件夹内的1.php文件,则用include "./A/1.php"即可

而1文件夹内的1.php又包含了B文件夹内的2.php,则1.php内写上include "../B/2.PHP"即可

可是要知道,当index.php包含了1.php之后,编译是在index.php里进行的,也就是index.php所包含文件里的include都是相对于index.php的,那么1.php被包含进index.php里了,那么就要相对于index.php寻找2.php了。而上面说了,1.php里写的是include "../B/2.php",现在编译文件已经相对于网站根目录了(即相对于index.php),"../"则意味着还要再返回上一级目录寻找,那么怎么会找得到。

在网上也寻找过一些方法,最好的办法还是都采用绝对路径方法较妥。可以定义一个单入口文件,将要包含的文件包含进来,定义一个常量define("__ROOT__",dirname(__FILE__));,那么在写后面的文件过程中,只需要采用绝对方式,加上__ROOT__就行了。

最新文章

  1. Android消息传递之组件间传递消息
  2. reason: Attempted to dereference an invalid ObjC Object or send it an unrecognized selector.
  3. C++11 auto_ptr 的问题
  4. Windows Azure文件共享服务--File Service
  5. WooCommerce代码收集
  6. A/B测试
  7. C#标准响应数据
  8. sql脚本比较大,sqlserver 无法导入,就用cmd命令执行
  9. linux设备模型_转
  10. bzoj1855: [Scoi2010]股票交易
  11. 河内塔(hanoi)
  12. API接口开发简述示例
  13. 对比AutoResetEvent和ManualResetEvent
  14. 兼容ie浏览器的placeholder的几种方法
  15. java hascode
  16. springMvc项目的搭建,暂时没有整合持久层框架(java Config配置对比xml配置)
  17. LeetCode算法题-Design HashSet(Java实现)
  18. element-ui中用el-dialog+el-table+el-pagination实现文件默认选中且在分页的条件下有记忆功能
  19. Quartz定时器+Spring + @Autowired注入 空指针异常
  20. 微信小程序开发工具的基本应用

热门文章

  1. 通过改变uiview的layer的frame来实现进度条
  2. Ajax的工作原理
  3. Android 高级UI设计笔记13:Gallery(画廊控件)之 循环显示图像
  4. 【开源项目13】Volley框架 以及 设置request超时时间
  5. android studio1.3安装终于成功
  6. Linux下VI的使用
  7. oracle lsnrctl
  8. .NET中的Queue和Stack
  9. gcc: error trying to exec &#39;cc1plus&#39;: execvp: no such file or directory
  10. 怒刷DP之 HDU 1257