php的文件引用
阿新 • • 發佈:2017-05-07
路徑 class 定義 作用 當前 style font line st3 ");那麽我們的代碼前面的路徑就可以省略了。
最近研究公司代碼時發現了set_include_path(dirname(__FILE__));這樣一行代碼,在網上查了些資料,才把這個方法的作用弄清楚。
首先,dirname(__FILE__)這個方法返回當前代碼所在文件的路徑。
而set_include_path這個函數呢,就相當於windows的環境變量。windows可以通過環境變量的路徑,來從指定的路徑下尋找需要的文件。
當我們的項目需要引入多個類文件、函數文件時,特別是當所引用的文件路徑比較深的時候,我們的代碼就會變成下面這樣:
1 <?php 2 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test1.php");3 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test2.php"); 4 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test3.php"); 5 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test4.php"); 6 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test5.php"); 7 ?>
是不是感覺寫出來很多冗余的代碼了。
如果我們設置了set_include_path("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/
1 <?php 2 set_include_path("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/"); 3 include("test1.php"); 4 include("test2.php"); 5 include("test3.php"); 6 require("test4.php"); 7 require("test5.php"); 8 ?>
set_include_path函數還可以設置多個路徑變量,在linux下用:分隔,在windows下用;分隔。比如:
1 <?php 2 define(‘A‘,‘xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/‘); 3 define(‘B‘,‘yyy/yyy/yyy/yyy/yyy/yyy/yyy/yyy/‘); 4 define(‘C‘,‘zzz/zzz/zzz/zzz/zzz/zzz/zzz/zzz/‘); 5 6 set_include_path(A.PATH_SEPARATOR.B.PATH_SEPARATOR.C); 7 8 include("test1.php"); 9 include("test2.php"); 10 include("test3.php"); 11 require("test4.php"); 12 require("test5.php"); 13 14 ?>
最後,還有兩個php預定義變量
PATH_SEPARATOR:路徑分隔符,include多個路徑使用,在win下,當你要include多個路徑的話,你要用”;”隔開,但在linux下就使用”:”隔開的。
還有DIRECTORY_SEPARATOR:目錄分隔符,linux上就是’/’ windows上是’\’。
php的文件引用