欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何在不同文件夹深度的php中引入相同php文件?

程序员文章站 2022-03-27 11:22:04
...
由于网站需要,我想在www/sub/sub.php中引入www/includes/application_top.php,但这样做会导致路径报错,我使用的是zencart,请问这种情况要怎么做?


回复讨论(解决方案)

在www/sub/sub.php中引入www/includes/application_top.php

require '../../includes/application_top.php';

建议把错误信息贴出来以供分析

我的意思是在不改变或者尽量少修改 application_top.php中的代码情况下,能让所有深度php引用该文件,都不会路径报错,如上图中的www/sub/sub.php 引用../includes/application_top.php会报错,找不到a.php和b.php

application_top.php 里面已经写错了,应为:
require('a.php');
require('b.php');

你的项目有从下层目录访问上层目录的情况,可见你的目录设计不合理。
合理的设计是始终都是上层访问下层

如果你无法避免,那么可以
1、在公共(通常是 comfig.php)中设置常量 ROOT_PATH,供引入文件时使用
2、在入口文件中执行
ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'/www/'));
动态设置搜索路径
3、如有可能,就直接在php.ini中设置 include_path

谢谢2位牛人,明白了