DIRECTORY_SEPARATOR:目录分隔符,linux上就是’/’    windows上是’\’

 

PATH_SEPARATOR:路径分隔符,include多个路径使用,在win下,当你要include多个路径的话,你要用”;”隔开,但在linux下就使用”:”隔开的。

 

=================================================

 

 

zendframework include 设置 index.php

 

set_include_path('.' . PATH_SEPARATOR . '../library/' . PATH_SEPARATOR . './application/models/'

. PATH_SEPARATOR . './application/lib/'

. PATH_SEPARATOR . get_include_path());

 

PATH_SEPARATOR是一个常量,在Linux系统中是一个" : "号,Windows上是一个" ; "号。所以编写程序时最好用常量 PATH_SEPARATOR 代替,否则如果系统从linux移植到win系统或反过来移植会出错!


get_include_path取得当前已有的环境变量,加上前面的设置就是新的系统include

 

 

=================================================

 

请教PHP中的set_include_path()函数

悬赏分:0 - 解决时间: 2009年10月18日 20时13分
有点疑惑,请各位指点。
目录结构
D://root //根目录root
|-inc
| |-a.php//设置了set_include_path('D:/root');
| |-b.php
|
|_index.php

a.php为基本配置文件,代码如下:
<?php
set_include_path('D:/root');
require_once('b.php'); //问:为什么这地方不是 'inc/b.php',一打这个路径就出错。
?>

index.php代码
<?php
require_once 'inc/a.php';
……//其它代码
?>

 

 

最佳答案

如果路径是相对路径(./开头,或者../开头),则按照相对路径的情况对待。(如 include("./b.php"))
如果是物理路径,则直接寻找该路径。(如 include("D:/root/inc/b.php"))
如果路径不是相对开头。(如 include("b.php"))
则查询php.ini里的include_path的路径。按照include_path的顺序依次查找。
include_path的值可以通过set_include_path() 来改变include_path的路径。
 
附:php.ini里的include_path的路径格式参考:
; Windows: "\path1;\path2"
include_path = ".;c:\php\includes;c:\php\ZF\library\zend"

 

 

posted on 2010-06-22 15:23  小炒花生米  阅读(4698)  评论(0编辑  收藏  举报