首先 
我们来看这个全局变量:__FILE__
它表示文件的完整路径(当然包括文件名在内)
也就是说它根据你文件所在的目录不同,有着不同的值;当然,当它用在包行文件中的时候,它的值是包含的路径; 然后:
我们看这个函数:
string dirname ( string path ) 
它是PHP内置函数,它的作用是什么呢,就是返回除了本文件名以外的所在目录,给你举个例子 
假如你的首页中用到了_FILE_这个变量:
(假设你的网页所在目录为:),那么:
_FILE_的值为(一个绝对路径)。而此时 dirname (_FILE_) 表示的就是也就是没有 index.php 这个文件名。
而dirname(dirname(_FILE_))表示的就是上一级的目录,以此类推; 最后
看一下define()这个函数,其实他就是一个定义常量的函数,比如:define('MEN','ooooo');
那么你后你就可以用MEN来表示ooooo这个字符串;
如果你学过C语言,你就很清楚,其中也有一个类似的#define MEN "ooooo";(其实应该说哦php和C类似,因为php就是c编写的);
那么这么写有什么好处呢,那就是当你需要修改变量的时候,你只要修改它就行了,相当的方便,尤其是像路径这样的字符串! 酒后给你解释一下你这段代码:
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;

来自百度知道: http://zhidao.baidu.com/link?url=ILbyN5Sku7j5Ddx6empHZpQ5ediu4JoMKcyvfA7GwvHEzDiOt3lt-FTxTGgu-qZJK05dSXSkRcBqRbdSJulW3a

php get_include_path();是干嘛的、??还有set_include_path();/?????的更多相关文章

  1. php 文件路径设置 set_include_path(); get_include_path();

    <?php set_include_path($string); //设置路径 get_include_path(); // 获取当前的路径 //例如:文件路径为: //D:/phpweb/de ...

  2. set_include_path和get_include_path用法详解

    首先set_include_path这个函数呢,是在脚本里动态地对PHP.ini中include_path进行修改的.而这个include_path呢,它可以针对下面的include和require的 ...

  3. 【php】set_include_path和get_include_path用法详解

    目的:在框架中方便加载文件 参考:http://blog.sina.com.cn/s/blog_4ce89f200100twbl.html 如果我们没有设置这个值,可能我们需要写一些完全的路径:    ...

  4. set_include_path() &&get_include_path()用法

    function initialize(){    set_include_path(get_include_path().PATH_SEPARATOR . "core/");   ...

  5. set_include_path详细解释

    zendframework的示例index.php里有这样一句 set_include_path('.' . PATH_SEPARATOR . '../library/'. PATH_SEPARATO ...

  6. set_include_path — 设置 include_path 配置选项为当前脚本设置 include_path 运行时的配置选项。

    说明 string set_include_path ( string $new_include_path ) 为当前脚本设置 include_path 运行时的配置选项. 参数 new_includ ...

  7. php使用 set_include_path

    通过set_include_path引用home/lib/image.func.php 1.创建include.php 2.添加如下代码 3.在需要引用的文件中包含include.php文件 < ...

  8. php set_include_path

    string set_include_path ( string $new_include_path ) 为当前脚本设置 include_path 运行时的配置选项. Example #2 添加到in ...

  9. set_include_path()的用法

    朋友们 开发的时候 ,总会 遇到 include_once()的情况.有时候,我们需要大量的引用文件,但是被引用文件的路径有时候是个问题.  我们可以把 经常要引用 的文件,放在一个 文件夹中,我们取 ...

随机推荐

  1. hzau 1209 Deadline(贪心)

    K.Deadline There are N bugs to be repaired and some engineers whose abilities are roughly equal. And ...

  2. 51nod 1040 欧拉函数

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 1040 最大公约数之和 题目来源: rihkddd 基准时间限制 ...

  3. java学习笔记 --- 多线程(1)

    1:要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在. 2:什么是进程? 通过任务管理器我们就看到了进程的存在. 而通过观察,我们发现只有运行的程序才会出现进 ...

  4. golang的项目结构 相关知识

    ### 项目结构 ``` ├── bin │   ├── login │   └── main ├── pkg │   └── darwin_amd64 │   └── login │   └── a ...

  5. const指针和指向const的指针

    int *const p=&a; 这是const指针,这种指针必须在定义时就给出它所指向的地址,否则会error:uninitialized const 'p'.const指针的指针本身是co ...

  6. Jmeter基本组件

    学习jmeter首先配置环境,使工具运行起来,然后需要了解该工具大致的内容,以下是写的Jmeter基本组件 1.添加线程组:右键点击“测试计划”-->“添加”-->“Threads(Use ...

  7. CodeForces - 900D: Unusual Sequences (容斥&莫比乌斯&组合数学)

    Count the number of distinct sequences a1, a2, ..., an (1 ≤ ai) consisting of positive integers such ...

  8. python之 前端HTML/CSS基础知识学习笔记

    1. 文件结构: HTML文件的固定结构: <html> <head>...</head> <body>...</body> </ht ...

  9. BZOJ2120:数颜色(莫队版)

    浅谈莫队:https://www.cnblogs.com/AKMer/p/10374756.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...

  10. MySQL最新版本 MySQL5.7.11 批量自动化一键式安装(转)

    --背景云端 以前都喜欢了源码安装MySQL,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了. 现在业务发 ...