1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
一直對include_path的作用不了解,也沒怎麼注意過它的用途,今天在網上看一些資料後明白了,記錄一下: 其實設定include_path的作用就是設定用 include ()函式包函檔案時的路徑,當然也可以不設定include_path,只要在包函檔案時寫出具體的檔案相對或絕對路即可:
下面以安裝smarty為例: 下面內容中,我們都是假設你的檔案放在了D:AppservwwwSmarty下。 1、找到你的php.ini配置檔案修改php.ini的include_path選項,把smarty的庫檔案路徑加上,比如:
include_path = "D:AppservwwwSmartylibs" 提醒一下,php.ini中一共有兩處include_path,一處是Unix下使用的,一處是windows下使用的,要修改windows下使用的: ------------------------------------------------------------- ; Windows: "path1;path2"
;include_path = ".:/php/includes"
修改為:
; Windows: "path1;path2"
include_path = "D:AppservwwwSmartylibs"
儲存即可,這個是PHP的包含檔案路徑,可以設定多個,用";"格開。
2、載入Smarty庫,如果在php.ini設定了include_path為D:AppservwwwMysmartylibs,那麼可以直接用 include ( "Smarty.class.php" );另外不設定include_path,可以直接把Smarty. class .php拷到網站目錄,就可以用相對路徑或用絕對路徑了,如 include ( "D:AppservwwwSmartylibsSmarty.class.php" );
可以看出設定了include_path後,要包函檔案Smarty. class .php就比較簡便了,不用寫一大串的路徑(其實也不見得方便,只是當很多需要包函的檔案都在一個目錄下時,這樣會覺得比較方便)。
有兩種方法來設定php的include_path.
一:修改php.ini檔案中的include_path項。 例:include_path = .:/usr/local/lib/php:./ include
二:使用 ini_set 方法(對於無法修改php.ini的情況)。
例: ini_set ( "include_path" , ".:../:./ include :../ include
include_path補充 include_path用來設定 include ()或 require ()函式包含檔案的參考路徑.
也就是說當使用 include ()或 require ()函式包含檔案的時候,程式首先以include_path設定的路徑作為參考點去找檔案,如果找不到,則以程式自身所在的路徑為參考點去找所要的檔案,如果都找不到,則出錯.
當include_path設定了多個參考路徑(每個路徑用分號隔開)時,排在前面的路徑優先找. 例如: ini_set ( `include_path` , `d:wwwmysite est;d:wwwmysite est2` );
include ( `aaa/test.php` );
程式會先以路徑d:wwwmysite est為參考去找aaa/test.php,若沒有,再以d:wwwmysite est2為參考去找,再沒有,則以自身所在路徑為參考去找. |
本文轉自 IT阿飛 51CTO部落格,原文連結:http://blog.51cto.com/itafei/1867560