php include路径问题

的localhost下有三个文件夹dir11/dir12/dir23dir11(a.php)和dir12(b.php)平级,dir23(c.php)在dir12下面//a... 的localhost下有三个文件夹dir11/dir12/dir23
dir11(a.php) 和dir12(b.php)平级,dir23(c.php)在dir12下面//a b包含代码如下
a.php=>include_once("../b.php");
b.php=>include_once("./dir23/c.php");
1:测试localhost/dir11/a.php 提示无法包含./dir23/c.php
2:dirname(__FILE__)得到的是根文件夹,用在里面也不好用,不知怎么用
相对路径不好用吗,该如何解决
展开
 我来答
晦涩b2
2012-01-13 · 超过17用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:43.3万
展开全部
dirname(__FILE__)得到的是本文件的文件夹啊
a.php=>include_once(dirname(__FILE__)."/../b.php");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a18d2ae
推荐于2016-03-26 · TA获得超过386个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:263万
展开全部
include的原理是把include的文件内容在预处理之时直接替换include。所以在a.php中include的b.php要访问c.php,用的是a.php执行时的当前目录。
其实在脚本执行中可以更改当前进入的目录。也就是说,你的test.php在/dir1/目录,它在执行时可以设/dir2/为当前目录。
追问
通常是怎么做的呢,如何更改呢,我觉这样二级包含应该挺常遇到的吧
追答
b.php=>include_once("./dir23/c.php");
改成b.php=>include_once("../dir23/c.php");
include二级包含一般都在同一文件夹中,这样就不会有这么麻烦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神马大帝
2012-01-13 · TA获得超过138个赞
知道答主
回答量:35
采纳率:0%
帮助的人:24.9万
展开全部
把b.php=>include_once("./dir23/c.php");
改成b.php=>include_once("/dir23/c.php");或b.php=>include_once("dir23/c.php");试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
追梦rebel
2012-01-12 · TA获得超过587个赞
知道答主
回答量:85
采纳率:0%
帮助的人:65.5万
展开全部
应该是这样
a.php=>include_once("../dir12/b.php");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式