急,include_once函数怪问题,在线等 分不够可另加

lynnlin1122 2010-06-25 02:30:50
我的项目根目录下有一个u名字的目录其中包含了u1.php,u2.php 两个文件,另外分别还有c目录和s目录;

其中u1.php文件中使用include_once函数包含了u2.php这个文件,现在在s目录下有一个s.php文件使用include_once函数引用了u1.php的文件,这样在s.php中可以访问到u1.php和u2.php两个中的变量和类,可是以同样的方式在c目录下有一个c.php文件也使用include_once函数引用了u1.php,可是在c.php中访问u1.php中的变量数据均可,访问u2.php却无法得到,这是为什么,改怎么解决啊。
急救,在线等.
...全文
190 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dleno 2010-06-25
  • 打赏
  • 举报
回复
估计原因在你的S_ROOT这个上面。
不同包含的时候,打印出来看看。
是不同包含的时候S_ROOT的值有所改变。
也就是你程序里不同情况下,计算S_ROOT错误。

但你说:
在c.php中访问u1.php中的变量数据均可,访问u2.php却无法得到

那在你开启了错误显示的情况下,既然在C中可以得到U1,又没有抛出错误(就说明包含的路径是正确的),却无法得到U2,那就只有检查你C和U2的程序了。



garcon1986 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xuzuning 的回复:]

是这个意思吗?

/u/u1.php
/u/u2.php

/u/s/s.php 可以访问

/u/c/c.php 不可以访问
[/Quote]

这个问题咋办, 我也遇到过这个问题
xuzuning 2010-06-25
  • 打赏
  • 举报
回复
是这个意思吗?

/u/u1.php
/u/u2.php

/u/s/s.php 可以访问

/u/c/c.php 不可以访问
fxs_2008 2010-06-25
  • 打赏
  • 举报
回复
所有引用都要使用绝对路径
Siramizu 2010-06-25
  • 打赏
  • 举报
回复
检查include时是否在函数中,如果是,则目标文件中所声明变量作用域都在函数中

终极必杀,在u1 u2等文件中加入echo判断文件是否被include以及何时include
lynnlin1122 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cunningboy 的回复:]
include_once('../u/u1.php');
[/Quote]
这种方式我也试了,结果依旧
lynnlin1122 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 siramizu 的回复:]
u1中include u2时也使用绝对路径
[/Quote]

是的,include_once(S_ROOT.'./u/u2.php'); 这样的方式引用的
CunningBoy 2010-06-25
  • 打赏
  • 举报
回复
include_once('../u/u1.php');
lynnlin1122 2010-06-25
  • 打赏
  • 举报
回复
用 include 结果一样
Siramizu 2010-06-25
  • 打赏
  • 举报
回复
u1中include u2时也使用绝对路径
jianglin28290 2010-06-25
  • 打赏
  • 举报
回复
u1.php不用include_once而用include试一下
lynnlin1122 2010-06-25
  • 打赏
  • 举报
回复
include_once(S_ROOT.'./u/u1.php');
这样的方式,S_ROOT是程序计算的项目根目录的物理路径
CunningBoy 2010-06-25
  • 打赏
  • 举报
回复
目录结构和代码贴出来看看。
foolbirdflyfirst 2010-06-25
  • 打赏
  • 举报
回复
你是使用绝对路径包含文件吧?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧