社区
基础编程
帖子详情
如何解决多重包含的问题?
wjjchen
2004-12-03 02:00:26
一个文件include其他文件,而他本身又有可能被其他不同目录的文件所include,如果使用相对路径就会出错,绝对路径又因为程序可能会放在不同的目录中,这是该怎么解决阿?使用$_SERVER['DOCUMENT_ROOT']也是不行的,因为程序不一定就放在$_SERVER['DOCUMENT_ROOT']的根目录下。
...全文
221
11
打赏
收藏
如何解决多重包含的问题?
一个文件include其他文件,而他本身又有可能被其他不同目录的文件所include,如果使用相对路径就会出错,绝对路径又因为程序可能会放在不同的目录中,这是该怎么解决阿?使用$_SERVER['DOCUMENT_ROOT']也是不行的,因为程序不一定就放在$_SERVER['DOCUMENT_ROOT']的根目录下。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ice_berg16
2004-12-04
打赏
举报
回复
会阿,比如说目录结构是:
/class/class1.inc.php
/db/db1.inc.php
/test.php
class1.inc.php 中include(dirname(__FILE__)."/../db/db1.inc.php"),
test.php中:include(dirname(__FILE__)."/class/class1.inc.php"),
使用dir(__FILE__)来取得当前文件的绝对路径,再根据当前文件的路径进行包含
-神仙-
2004-12-03
打赏
举报
回复
include("./class/class1.inc.php"),
改成
include("class/class1.inc.php"),
可以吗
hflsj
2004-12-03
打赏
举报
回复
顶一下
wjjchen
2004-12-03
打赏
举报
回复
我也只是举个这样的例子而已,不一定就是类中的问题啊。
xuzuning
2004-12-03
打赏
举报
回复
这只能说是你的文件组织有问题
1、
/db/db1.inc.php
应该也是类,同样应放在/class中
引用时只需include 'db1.inc.php';
2、在类中嵌入与类本身没多大关系的文件是不可取的,这使得类失去通用性
如果/class/class1.inc.php中确实需要/db/db1.inc.php
也应该在test.php中
include 'db/db1.inc.php';
include 'class/class1.inc.php';
Rekcuf
2004-12-03
打赏
举报
回复
要说加一个目录转换或者一个目录定义都麻烦,就没辙啦。
要说你的目录组织得好,就不会出现太多这种嵌套啦。GOOD LUCK。
wjjchen
2004-12-03
打赏
举报
回复
楼上的虽然说可以解决问题,可是在每个页面都这样是不是有点麻烦啊?如果是这样我在每个页面定义一个常量WWW_ROOT,以后包含文件的时候就用include(WWW_ROOT."/db/db1.inc.php")也可以解决问题,就是觉得这样解决有点麻烦。
Rekcuf
2004-12-03
打赏
举报
回复
楼上两位都没有理解他的意思:
以下是目录树:
./
|- index.php (需要 ./classes/HelloWorld.class.php 和 ./includes/global.php)
|- ./classes
|- HelloWorld.class.php
|- DBMySQL.class.php
|- ./includes
|- global.php (而在这里又 include 了 ./classes/DBMySQL.class.php)
那么 index.php 里面:
<?php
include("./global.php");
?>
而 global.php 里面:
<?php
// include("./../classes/DBMySQL.class.php"); !! 这里出错,因为当 global.php 被 include 到 index.php 的时候,所在的目录是根目录(./),所以此时所指的(./../classes)就是上层目录了。不行
include("./classes/DBMySQL.class.php"); // 这样就可以了。
?>
但是你说到的其他目录引用 global.php 的时候,就出错是不是?
例如有个 ./admin/admin.php 要 include 这个 global.php,所以你要更改当前目录。
<?php
//: admin/admin.php
chdir('./../'); // 转到上层目录,此时跟 index.php 引用 global.php 一样,不会混淆。
include('./include/global.php'); // 这里能看清楚吧?
//:~
?>
wjjchen
2004-12-03
打赏
举报
回复
会阿,比如说目录结构是:
/class/class1.inc.php
/db/db1.inc.php
/test.php
class1.inc.php有这样的语句:include("../db/db1.inc.php"),执行class1.inc.php是没有错的。
test.php有这样的语句:include("./class/class1.inc.php"),这时候执行test.php就会出现找不到db1.inc.php的错误阿。
szjq
2004-12-03
打赏
举报
回复
用include_once
butcher2002
2004-12-03
打赏
举报
回复
应该不会出现你说的情况
include实际上相当于在此位置添加了include指定的文件内容
CAD中出现
多重
插入块
解决
方法.docx
CAD中出现
多重
插入块
解决
方法.docx
解决
无等待流水线调度
问题
的变邻域搜索算法 (2006年)
提出了
解决
无等待流水线调度
问题
的变邻域搜索调度算法。采用基于自然数编码的工件序列表达
问题
的解,采用
多重
Insert移动邻域和
多重
Swap移动邻域作为变邻域搜索的两种邻域结构。
多重
移动有利于算法向
包含
较优解的区域搜索,因而有较高的求解质量和效率。仿真实验证明了变邻域搜索算法的有效性。
microrobots
微型机器人研究项目 内容 该存储库
包含
由棋盘游戏推动的研究项目的。 研究
问题
的动机 游戏规则 游戏数学模型 图形游戏 什么类型的图? 总是平面的? 连通性? 图的模型 嵌入/图像? 平面的? 有用吗? 有用吗? 邻接矩阵和特征值/特征向量? 回答这些
问题
的计算方法 对板进行建模4个插槽 为瓷砖建模4格 在板上模拟瓷砖的放置(插槽和旋转) 每个插槽正好1个图块 每个磁贴4个独立的旋转位置 在最终板上建模节点(标记图) 瓦 数字 颜色 [x,y)坐标 在最终板上建模边缘 如果在相同的x或y轴上,并且 相同编号或相同颜色 计算连通性(为此目的要考虑效率吗?) DFS? 生成树 您可以找到图的并检查特征值零的
多重
性,如果零的
多重
性是1,则图是连通的;如果图的Laplacian矩阵的特征值零的
多重
性是二或更大,则它断开连接 根据游戏规则计算“相同”。 抽象,未
解决
的
问题
和未来的调
java数百种算法实现
java数百种算法实现
1000多种java算法大全源码包
1000多种java算法大全源码包
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章