PHP中set_include_path()函数相关用法分析
来源:互联网 发布:速配网软件下载 编辑:程序博客网 时间:2024/06/05 22:35
本文实例讲述了PHP中set_include_path()函数相关用法。分享给大家供大家参考,具体如下:
先看如下代码:
<?php
/** 定义根目录 */
define(
'__TYPECHO_ROOT_DIR__'
, dirname(
__FILE__
));
/** 定义插件目录(相对路径) */
define(
'__TYPECHO_PLUGIN_DIR__'
,
'/usr/plugins'
);
/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ .
'/var'
. PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
?>
首先:
我们来看这个全局变量:__FILE__
它表示文件的完整路径(当然包括文件名在内)
也就是说它根据你文件所在的目录不同,有着不同的值;当然,当它用在包行文件中的时候,它的值是包含的路径;
然后:
我们看这个函数:
string dirname ( string path )
它是PHP内置函数,它的作用是什么呢,就是返回除了本文件名以外的所在目录,例如:
假如你的首页中用到了_FILE_这个变量:
(假设你的网页所在目录为:http://localhost/web/index.php),那么:
_FILE_的值为http://localhost/web/index.php(一个绝对路径)。而此时dirname (_FILE_)表示的就是http://localhost/web/也就是没有index.php这个文件名。
而dirname(dirname(_FILE_))表示的就是上一级的目录,以此类推;
最后:
看一下define()这个函数,其实他就是一个定义常量的函数,比如:define('MEN','ooooo');
那么你后你就可以用MEN来表示ooooo这个字符串;
那么这么写有什么好处呢,那就是当你需要修改变量的时候,你只要修改它就行了,相当的方便,尤其是像路径这样的字符串!
下面解释一下这段代码:
define(
'__TYPECHO_ROOT_DIR__'
, dirname(
__FILE__
));
就是定义__TYPECHO_ROOT_DIR__为这个文件所在的目录,像这种定义一般是放在config.inc.php中的,那么获取的目录也就是config.inc.php所在的目录;也就是根目录!
define(
'__TYPECHO_PLUGIN_DIR__'
,
'/usr/plugins'
);
这就不用说了!
至于set_include_path(get_include_path() . PATH_SEPARATOR . $path);是什么意思,他就是包含路径;
比如你有一个文件夹:命名为include,里面有数据库连接文件:conn.php……,
你这样设置:
set_include_path(
"/include"
)
那么以后你就直接可以在其他页面中使用
include
(
"conn.php"
)
这不是经常见到吗?它参数就字符串,当然你也可以设置多个路径,中间用;分开,而那句:
set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ .
'/var'
. PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
什意思呢,举个例子:
你的一个页面有这样的语句:
include
(
'/inc/sql.php'
);
include
(
'/inc/conn.php'
);
而你突然发现我把这些要包含的文件放在inc目录下不安全,怎么办,要改,我想放到include目录中,好的,这么多页面不累死才怪:有没有好的方法!有!!!!!!!
在config.inc.php中写着么一句:
set_include_path(get_include_path() .
'/include'
)
就这么简单,对,就这么简单!动态的修改!
你不要看这个:get_include_path() . PATH_SEPARATOR . $path这是什么,他就一路径字符串,中间的.是字符串连接符号,也就是刚才定义的那些常量的组合,组合成一字符串,也好就是说他可以动态的设置包含路径!如果正确返回包含路径,不正确返回false;
- PHP中set_include_path()函数相关用法分析
- php中set_include_path函数的用法
- php函数set_include_path()用法详解
- php的set_include_path函数
- PHP的set_include_path函数
- PHP 函数: set_include_path
- PHP中set_include_path
- 关于PHP的set_include_path()函数
- php的set_include_path与get_include_path()的用法
- php手记-set_include_path和get_include_path用法详解
- PHP--set_include_path和get_include_path用法详解
- PHP框架优化之-set_include_path函数
- php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path
- set_include_path用法详解
- set_include_path()的用法
- set_include_path函数解析
- PHP中Mysql相关函数
- PHP中MySQL相关函数
- 利用sklearn计算文本相似性
- HDU 5787 K-wolf Number
- Dev 将Treelist设置为不能编辑
- Spring框架——Bean的生命周期
- POJ 2983 Is the Information Reliable?
- PHP中set_include_path()函数相关用法分析
- SQLServer中的外键
- XML解析之JDOM
- Efficient sparse coding algorithms
- Sublime Text 自定义主题颜色 Color Scheme 生成器(功能十分强大)
- Android之计时器Chronometer
- Tomcat7启动报错-->java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
- Android Fragment 深度解析
- assetbundle 加载 粒子显示不正常 红掉