逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
php包含需要注意:
目录结构
xxxxx
    |--a.php
    |--util.php
    |--yyyy
           |--b.php
----------------------------------------------------------------
a.php
<?php
reqiure_once("yyyy/b.php");
?>
----------------------------------------------------------------
b.php
<?php
reqiure_once("../util.php");
?>

运行a.php会出错,因为这时说找不到util.php,因为他包含了b.php,相当于直接把b.php的内容复制到a.php中,即最后a.php的内容为:
<?php
reqiure_once("../util.php");
?>
所以出错了。
如果能直接用绝对路径来表示的话,当然不会出错,但是换目录了呢?
可以使用__FILE__来动态的取得php文件的绝对路径
__FILE__ always equals to the real path of php script whether it is included.
__FILE__ 返回的是php文件绝对路径,在被其他文件包含前就被执行了.
使用__FILE__来解决包含问题:
a.php
<?php
reqiure_once(dirname(__FILE__) . "/yyyy/b.php");
?>
----------------------------------------------------------------
b.php
<?php
require_once(dirname(__FILE__) . "/../util.php");
?>

dirname(__FILE__)没有返回 /, 虽然代码长了点,但是很好的解决了问题。

posted on 2010-09-10 03:42 逛奔的蜗牛 阅读(648) 评论(0)  编辑 收藏 引用 所属分类: 其他编程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理