關於PHP 以相對路徑的引用


PHP 之中存在的路徑分為相對引用與絕對引用,'./'和'../',這兩種稱之為相對引用。相對引用,這個相對是指的是運行腳本所在的目錄,即:運行腳本的當前目錄。

如果a.php,去include另外一個b.php,同時這個b.php又在相對引用另外一個b.html。那么引用之后b.html是相對a還是b呢?

見下圖代碼:

<?php 
header("content-type:text/html;charset=utf8");

include('./b/b.php');
echo  __FILE__;
?>
<?php 
header("content-type:text/html;charset=utf8");
echo __FILE__;
include('./b.html');
echo __FILE__;

?>

他們之間的目錄關系:

a.php

b

   b.php

   b.html

運行a.php后:是找不到b.html

那么我們看打印的__FILE__,   D:\warmp\wamp\www\b\b.php  D:\warmp\wamp\www\b\b.php  D:\warmp\wamp\www\a.php

當include('./b/b.php')之后,就相當於把b.php加載到了a.php之中了,這個時候b.php里面include('./b.html'),這個相對路徑就是,相對的是a.php 了,所以相對路徑,相對的是運行腳本所在的目錄,那么我們再看看__FILE__,雖然被include之后但是返回的路徑,還是沒有被調用之前所在的路徑。

手冊中解釋__FILE__:文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑(如果是符號連接,則是解析后的絕對路徑),而在此之前的版本有時會包含一個相對路徑。 

這和我們的運行結果是一致的。


免責聲明!

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



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