三個文件
r.php c.php 和 r/d.php
r.php
<?php require_once 'r/d.php'; echo 'sssss'; ?>
d.php
<?php require_once '../c.php'; echo 'dddddd'; echo '<br />' ?>
c.php
<?php echo 'cccccc'; echo '<br />' ?>
當執行r.php時就會報錯:
Warning: require_once(../c.php): failed to open stream: No such file or directory in D:\phpStudy\PHPTutorial\WWW\php\r\d.php on line 2
Fatal error: require_once(): Failed opening required '../c.php' (include_path='.;C:\php\pear') in D:\phpStudy\PHPTutorial\WWW\php\r\d.php on line 2
但是我們直接執行d.php時是不會報錯的
這里的r.php實際執行的就類似這樣:
<?php //require_once 'r/d.php'; //此處相當於這樣引入的 require_once '../c.php'; //這樣的話就相當於是r.php的上級找的c.php echo 'dddddd'; echo '<br />' echo 'sssss'; ?>
可以結合使用 dirname(dirname(__FILE__)) 使用絕對路徑