《samrty配置文件路径问题》之include、define问题

    在《samrty配置文件路径问题》我说过了一个include和define一起使用问题,刚刚看了一篇博客文章《PHP中include路径的解决方法汇总》,里面说的内容正好解决了我的疑问,也给出了一些解决办法。

    我再重新表述我的问题吧:

a.php

PHP code ?
1
2
3
4
5
6
7
8
<?php
   define(  'PATH' ,dirname( __FILE__ ));
   include ( './index.php' );
   .
   .
   .
?>


b.php
PHP code ?
1
2
3
4
<?php
   include (../a.php);
   echo  PATH;

其中a.php和index.php在同一个文件夹,而b.php在a.php的父文件夹中。
    运行上面b.php,结果提示错误,说include()函数fial to open index.php,然后输出了PATH,而PAHT的值时a.php的绝对路径。
    这是怎么一回事,如果说include函数的工作机制是把文件不做任何处理就包括进来,那么PATH的值应是b.php的绝对路劲;如果说include函数先要对一些函数做处理后在包括进来,那include('./index.php');问什么又不执行呢?究竟include和define的工作机制是怎样的?-----引用了我csdn的提问。

    原来上面的问题是跟__FILE__有关的,因为__FILE__的值总是跟使用它的文件的路径是相等的,而不管它是否被包含。所以问题并不是与include、define,但是include在php中确实有问题,PHP中include路径的解决方法汇总》中有说到,大家不妨去看看!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值