PHP中复杂的目录转换 <?$ndir = str_replace("\\","/",dirname(__FILE__));require_once($ndir."/你要引入的文件的相对路径/你要引入的文件.php");?> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有没有取得我的根目录的方法?比如, 我的根目录在服务器上的实际路径为 /usr/webusr/userA而我不想把这个固定的路径写在所有要引用文件的地方, 因为可能我会换到其他的服务器或者我想在方便在本地调试 可参考下这段代码:$file为文件名 if (empty($file)) $file = $PHP_SELF; $depth = explode("/",$file); $path = str_repeat(""../"", count($depth)-2); //减2是因为第一个为/最后一个为文件名 要么,你用对等级的目录,要么用绝对路径,只能二选一如果用<?$ndir = str_replace("\\","/",dirname(__FILE__));require_once($ndir."/你要引入的文件的相对路径/你要引入的文件.php");?>这种方法,换服务器也没影响呀像mambo、koobi等这些大型CMS系统都这样引入 inc目录就是用来定义函数和类的,你跑到子目录下面去执行d.php有什么意义?还include过来include过去的,一点层次结构都没有 刚好我前段时间在为这个事情烦恼了一天,不过现在解决了,用下面这个语句可以不管INCLUDE的路径,不过其他的还得自己设 ini_set("include_path","./;../"); 定义程序统一配置文件如config.php,放在系统根目录在配置文件中定义系统根路径,define( "APP_ROOT" , dirname(__FILE__) );在所有需要包含文件的地方使用从根目录开始的方式require( APP_ROOT . "/inc/d.php" ); 你把一个本来很简单的问题弄复杂了几点原则1、把可能被任意程序引用文件放在include_path指向的非./目录中。比如数据库类,模板类等2、把专用嵌入文件放在引用文件的下级目录中,可以多层3、不在下级目录中引用上级目录的文件在php中,嵌入文件默认是通过绝对路径进行的。当采用相对路径时,路径的参照点是第一个执行嵌入指令的程序所在目录。无论嵌入文件有嵌入了多少文件,这个参照点是不会变的。因此,无论你如何组织文件,都应做到只嵌入平级和下级目录的文件特殊情况下你可以用realpath通过__FILE__常量以相对路径构造绝对路径 我比较喜欢用 define('ROOT_DIR', '/home/www/hddoc/')这样的方式定义路径~~然后require_once(ROOT_DIR.'include/a.php')'/home/www/hddoc/'你也可以直接换成__FILE__ ya~~没看见 ice_berg16(寻梦的稻草人)的回复~~同意他的观点~~ group by 怎么分页 与获取总记录数? Php小问??? 郁闷,再开个高分贴,详细说下URL取值的问题 php下载页问题 一个PHP正规的问题 帮忙看看争 急 正则 本人想研读PHPBB的代码,希望有经验的朋友给点帮助性建议~ 问一个简单的问题 MYSQL上传问题!,空间支持PHP+MYSQL,我在本地作好的东西!PHP可以直接传上去!那么数据库我给怎么弄上去啊!达人解答! 网站验证码代码求指导 请问我如何判断一个字符串是什么编码,也就是说,比如得到一个字符串,在PHP中我如何判断它是GB2312还是utf-8编码 求助一个PHP问题
比如, 我的根目录在服务器上的实际路径为 /usr/webusr/userA
而我不想把这个固定的路径写在所有要引用文件的地方, 因为可能我会换到其他的服务器或者我想在方便在本地调试
$file = $PHP_SELF;
$depth = explode("/",$file);
$path = str_repeat(""../"", count($depth)-2); //减2是因为第一个为/最后一个为文件名
如果用
<?
$ndir = str_replace("\\","/",dirname(__FILE__));
require_once($ndir."/你要引入的文件的相对路径/你要引入的文件.php");
?>
这种方法,换服务器也没影响呀
像mambo、koobi等这些大型CMS系统都这样引入
ini_set("include_path","./;../");
在配置文件中定义系统根路径,
define( "APP_ROOT" , dirname(__FILE__) );
在所有需要包含文件的地方使用从根目录开始的方式
require( APP_ROOT . "/inc/d.php" );
1、把可能被任意程序引用文件放在include_path指向的非./目录中。比如数据库类,模板类等
2、把专用嵌入文件放在引用文件的下级目录中,可以多层
3、不在下级目录中引用上级目录的文件在php中,嵌入文件默认是通过绝对路径进行的。当采用相对路径时,路径的参照点是第一个执行嵌入指令的程序所在目录。无论嵌入文件有嵌入了多少文件,这个参照点是不会变的。
因此,无论你如何组织文件,都应做到只嵌入平级和下级目录的文件
特殊情况下你可以用realpath通过__FILE__常量以相对路径构造绝对路径
然后require_once(ROOT_DIR.'include/a.php')'/home/www/hddoc/'你也可以直接换成__FILE__