require_once中使用./和../時遇到的坑


三個文件

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__))  使用絕對路徑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM