PHP中include和require绝对路径、相对路径问题
在写PHP程序时,经常要用到include或require包含其他文件,但是各文件里包含的文件多了之后,就会产生路径问题。 如下目录: web(网站根目录) ├A文件夹 │ │ │ └1.php ├B文件夹 │ │ │ └2.php └index.php 现在根目录下的index.php要包含A文件夹内的
在写PHP程序时,经常要用到include或require包含其他文件,但是各文件里包含的文件多了之后,就会产生路径问题。
如下目录:
├文件夹
│ │
│ └1.php
├文件夹
│ │
│ └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__就行了。
上一篇: A mysql problem. Help me!
下一篇: PHP嵌套输出缓冲代码实例_PHP
推荐阅读
-
Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题
-
PHP中require和include路径问题详解
-
PHP中include和require的使用详解
-
php中 include 、include_once、require、require_once4个语言结构的含义和区别
-
php中echo()和print()、require()和include()等易混淆函数的区别
-
Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题
-
深入理解PHP中Include和require的区别
-
PHP中require和include路径问题总结,requireinclude
-
php中require/include 包含相对路径的解决办法
-
php中echo()和print()、require()和include()等易混淆函数的区别