zendframework的示例index.php裡有這樣一句
set_include_path(`.` . PATH_SEPARATOR . `../library/`. PATH_SEPARATOR . `./application/models/`. PATH_SEPARATOR . `./application/lib/`. PATH_SEPARATOR . get_include_path());
不知道 PATH_SEPARATOR是什麼,其實就是一個常量
直接echo就知道它的值了,在linux上是一個”:”號,WIN上是一個”;”號
set_include_path就是設定php的包含檔案路徑,相當是作業系統的環境變數
<?php// Works as of PHP 4.3.0set_include_path(`/inc`); // Works in all PHP versionsini_set(`include_path`, `/inc`);?>
關於set_include_path的問題,在win下,當你要include多個路徑的話,你要用”;”隔開,但在linux下就使用”:”隔開的。
所以上面的zf的程式碼真是絕配.
get_include_path取得當前已有的環境變數
定義和用法
pathinfo() 函式以陣列的形式返回檔案路徑的資訊。
語法
pathinfo(path,options)
引數 | 描述 |
---|---|
path | 必需。規定要檢查的路徑。 |
process_sections |
可選。規定要返回的陣列元素。預設是 all。 可能的值:
|
說明
pathinfo() 返回一個關聯陣列包含有 path 的資訊。
包括以下的陣列元素:
- [dirname]
- [basename]
- [extension]
提示和註釋
註釋:如果不是要求取得所有單元,則 pathinfo() 函式返回字串。
例子
例子 1
<?php print_r(pathinfo("/testweb/test.txt")); ?>
輸出:
Array ( [dirname] => /testweb [basename] => test.txt [extension] => txt )
例子 2
<?php print_r(pathinfo("/testweb/test.txt",PATHINFO_BASENAME)); ?>
輸出:
test.txt
DIRECTORY_SEPARATOR window 下面
說明
路徑分隔符
|
|
windows
|
or /
|
linux
|
/
|
function __autoload($classname){
if(preg_match(`/\\/`,$classname)){
$path = str_repace(`\`,DIRECTORY_SEPARATOR,$classname);
}else{
$path = str_replace(`_`,DIRECTORY_SEPARATOR,$classname);
}
require_once(“$path.php”);
}