PHP中include路径修改
1.__FILE__
__FILE__ always equals to the real path of a php script regardless whether it's included.
__FILE__ helps you specify the file to include using relative path to the including file.
这种方法首选推荐。虽然你的include语句会因此要写得长一些,但是一个字,值!
<?php include dirname(__FILE__).'/subdir'; //dirname return value does not contain the trailing slash ?>
2.$_SERVER['DOCUMENT_ROOT']
This method allows you to specify a path relative to the web server doc_root for file inclusion.
这也是许多项目在采用的一种不错的方式。
<?php if (!defined("WETSITE_BASE_DIR")) define("WETSITE_BASE_DIR", $_SERVER['DOCUMENT_ROOT'].'/Clare/'); require_once(WETSITE_BASE_DIR.'includes/global.inc.php'); ?>
3.chdir()
The include looks for file relative to current working directory. We can use this feature. It's really a "fancy" way, but I'm not sure whether it's safe all the time. Who knows?
这种方式感觉稍嫌麻烦了点,随时要记得恢复工作目录也不是容易的事。写完这句话后,我随后写了几个测试文件,发现这种方式的最重要缺点不在麻烦,而在它的副作用:改变了工作目录,这会导致程序逻辑出错。
<?php $prewd = getcwd(); // get the current working directory chdir(realpath(dirname(__FILE__))); // change working directory to the location of this file include('includedfile.php'); // include relative to this file chdir($prewd); // change back to previous working dir ?>
4.set_include_path()
这是最方便的方式,但不是没有缺点。首先,有时候你不见得有权限修改配置。其次,当不同路径下的文件名有重复的时候,你会被搞糊涂的(就算你不会,你的维护者呢)。
5.auto_prepend_file and auto_append_file in php.ini
如果你每个脚本都需要包含一个通用脚本的话,这几乎是最好的方式,但是,缺点还是,与配置相关,不够独立。
PHP中include路径修改的更多相关文章
- [Eclispe] NDK内建include路径修改
[Eclispe] NDK内建include路径修改 编辑 jni/android.mk 中 LOCAL_C_INCLUDES 变量后,该变量值将被列入项目属性的内建include头文件包含路径,无法 ...
- PHP中include路径的解决方法汇总
这几天整理一份很乱的代码,这才意识到php对include处理不是一般的贱:别的编程语言在处理include中的相对目录时,都是以当前处理的文件作为基准.也就是说,如果A包含B,B包含C时,C再包含一 ...
- 修改gcc/g++默认include路径
修改gcc/g++默认include路径 转自:http://www.network-theory.co.uk/docs/gccintro/gccintro_23.htmlhttp://ilewen. ...
- PHP中require和include路径问题总结
1 绝对路径.相对路径和未确定路径 相对路径 相对路径指以.开头的路径,例如 ./a/a.php (相对当前目录) ../common.inc.php (相对上级目录), 绝对路径 绝对路径是以 / ...
- 【转】PHP中require和include路径问题总结
1 绝对路径.相对路径和未确定路径 2. 相对路径: 3. 绝对路径 4. 未确定路径 5. 解决方案 1 绝对路径.相对路径和未确定路径 相对路径 相对路径指以.开头的路径,例如 ./a/a.php ...
- php中include包含文件路径查找过程
首先,“路径”分为三种: 1.绝对路径,以/开头(unix系统)或c:等盘符开头(windows系统). 2.相对路径,以.开头,有./(当前目录)和../(上级目录). 3.其他路径,不是绝对路径和 ...
- Qt Creator中,include路径包含过程(或如何找到对应的头文件)
Qt Creator中,include路径包含过程(或如何找到对应的头文件) 利用Qt Creator开发程序时,需要包含利用#include来添加头文件. 大家都知道,#include <&g ...
- C和C++中include 搜索路径的一般形式以及gcc搜索头文件的路径
C和C++中include 搜索路径的一般形式 对于include 搜索的路径: C中可以通过 #include <stdio.h> 和 #include "stidio.h&q ...
- web开发中目录路径问题的解决
web开发当中,目录路径的书写是再常用不过了,一般情况下不会出什么问题,但是有些时候出现了问题却一直感到奇怪,所以这里记录一下,彻底解决web开发中路径的问题,开发分为前端和服务端,那么就从这两个方面 ...
随机推荐
- 工作中的Python脚本
本章内容 1.rawlog处理 2.域名item接口刷新 3.备案结果查询 4.多级域名中取主域 5.发送邮件 6.通过api获取cdn edge ip 7.多线程下载 1.rawlog处理 脚本 ...
- 【03】图解原型和原型链by魔芋
[03]图解原型和原型链 一图胜前言 请先结合图解原型和原型链这张图. 可以分为4种情况. 情况1: Object有: constructor:是Function. __pro ...
- luogu3231 [HNOI2013]消毒
前置技能:poj3041 如果是二维平面有一些方块,这些方块被染了黑色,你每次可以选择 \((x,y)\) 的区域染成白色,代价是 \(\min(x,y)\),问你付出的最小代价 显然我们不会这么染 ...
- HTML与XML的区别
什么是HTML HTML的全拼是Hypertext Markup Language, 中文也就是超文本链接标示语言.HTML(HyperTextMark-upLanguage)即超文本标记语言,是WW ...
- vue.js 利用SocketCluster实现动态添加数据及排序
直接上代码 html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- 异常System.Threading.Thread.AbortInternal
异常信息: System.Threading.ThreadAbortException: 正在中止线程. 在 System.Threading.Thread.AbortInternal() 在 Sys ...
- BZOJ2741 【FOTILE模拟赛】L 【可持久化trie + 分块】
题目 FOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和. 即对于一个询问,你需要求出max(Ai xor Ai+1 xor Ai+2 ... xor Aj) ...
- 【2018.9.20】JOI 2017 Final T3「JOIOI 王国 / The Kingdom of JOIOI」
题目链接 题目描述 JOIOI 王国是一个 $H$ 行 $W$ 列的长方形网格,每个 $1\times 1$ 的子网格都是一个正方形的小区块.为了提高管理效率,我们决定把整个国家划分成两个省 $JOI ...
- cf299C Weird Game
Weird Game Yaroslav, Andrey and Roman can play cubes for hours and hours. But the game is for three, ...
- spring security 登录、权限管理配置
登录流程 1)容器启动(MySecurityMetadataSource:loadResourceDefine加载系统资源与权限列表) 2)用户发出请求 3)过滤器拦截(MySecurityFil ...