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:\Appserv\www\Smarty下。
1、找到你的php.ini配置文件修改php.ini的include_path选项,把smarty的库文件路径加上,比如:
include_path =
"D:\Appserv\www\Smarty\libs"
提醒一下,php.ini中一共有两处include_path,一处是Unix下使用的,一处是windows下使用的,要修改windows下使用的:
-------------------------------------------------------------
; Windows:
"path1;path2"
;include_path =
".:/php/includes"
修改为:
; Windows:
"\path1;\path2"
include_path =
"D:\Appserv\www\Smarty\libs"
保存即可,这个是PHP的包含文件路径,可以设置多个,用";"格开。
2、载入Smarty库,如果在php.ini设置了include_path为D:\Appserv\www\Mysmarty\libs,那么可以直接用
include
(
"Smarty.class.php"
);另外不设置include_path,可以直接把Smarty.
class
.php拷到网站目录,就可以用相对路径或用绝对路径了,如
include
(
"D:\Appserv\www\Smarty\libs\Smarty.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:\www\mysite\test;d:\www\mysite\test2'
);
include
(
'aaa/test.php'
);
程序会先以路径d:\www\mysite\test为参考去找aaa/test.php,若没有,再以d:\www\mysite\test2为参考去找,再没有,则以自身所在路径为参考去找.
|
本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1867560