PHP - 获取和设置include_path .
PHP - 获取和设置include_path
include_path是PHP中的一个环境变量,在php.ini中初始化设置,类似于JAVA的CLASSPATH和操作系统中的PATH。
例如:有如下一些文件, /www/index.php /www/includes/config.php /www/includes/functions.php /www/includes/PEAR/PEAR.php /www/includes/PEAR/DB.php /www/includes/PEAR/DB/mysql.php
如果没有设置include_path变量,index.php需要这样写:
- <?php
- include_once '/www/includes/config.php';
- include_once '/www/includes/PEAR/DB.php';
- include_once '/www/includes/PEAR/DB/mysql.php';
- ?>
<?php
include_once '/www/includes/config.php';
include_once '/www/includes/PEAR/DB.php';
include_once '/www/includes/PEAR/DB/mysql.php';
?>
使用上面的引用方式,引用路径比较长,当引用目录位置改变时需要大量修改代码。使用include_path变量可以简化上述问题:
- <?php
- set_include_path(/www/includes' . PATH_SEPARATOR . /www/includes/PEAR');
- include_once 'config.php';
- include_once 'DB.php';
- include_once 'DB/mysql.php';
- ?>
<?php
set_include_path(/www/includes' . PATH_SEPARATOR . /www/includes/PEAR');
include_once 'config.php';
include_once 'DB.php';
include_once 'DB/mysql.php';
?>
include_path是PHP的环境变量,因而可以在php.ini设置,每次请求时include_path都会被PHP用php.ini中的值初始化。也可以用代码的方式修改include_path值,不过,修改后结果在请求完毕后会自动丢弃,不会带到下一个请求。因此,每次请求时需要重新设置。
在代码中获取和设置include_path值有如下两种方式:
方式一:ini_get()和ini_set()方式,此种方式使用于所有PHP版本。
- <?php
- $s = ini_get('include_path');
- ini_set($s . PATH_SEPARATOR . '/www/includes');
- ?>
<?php
$s = ini_get('include_path');
ini_set($s . PATH_SEPARATOR . '/www/includes');
?>
方式二:get_include_path()和set_include_path()方式,此种方式使用于PHP4.3以后的版本。
- <?php
- $s = get_include_path();
- set_include_path($s . PATH_SEPARATOR . '/www/includes');
- ?>
<?php
$s = get_include_path();
set_include_path($s . PATH_SEPARATOR . '/www/includes');
?>
PHP - 获取和设置include_path .的更多相关文章
- set_include_path — 设置 include_path 配置选项为当前脚本设置 include_path 运行时的配置选项。
		说明 string set_include_path ( string $new_include_path ) 为当前脚本设置 include_path 运行时的配置选项. 参数 new_includ ... 
- 【VC++技术杂谈002】打印技术之获取及设置系统默认打印机
		本文主要介绍如何获取以及设置系统的默认打印机. 1.获取系统中的所有打印机 获取系统中的所有打印机可以使用EnumPrinters()函数,该函数可以枚举全部的本地.网络打印机信息.其函数原型为: B ... 
- 关于获取、设置css样式封装的函数入门版
		<html> <head> <meta charset="UTF-8"> <title>CSS样式的获取和设置:简单版</ti ... 
- jquery 获取和设置 checkbox radio 和 select option的值?
		============== 获取和设置 checkbox radio 和 select的值? === val()函数, 其名字就表达了 它的意思: 他就是= value 的简写! val就是valu ... 
- jquery获取和设置元素高度宽度
		jquery获取和设置元素高度宽度 1.height()/ width() 取得第一个匹配元素当前计算的高度/宽度值(px) height(val)/ width(val) 为每个匹配的元素设置CSS ... 
- [WinAPI] API 14 [获取、设置文件属性和时间]
		>_< 为了获取文件属性,用户可以使用GetFileAttributes与GetFileAttributesEx函数. GetFileAttributesEx函数除了返回文件属性外,还返回 ... 
- [WinAPI] API 12 [获取程序所在的目录、程序模块路径,获取和设置当前目录]
		Windows系统提供一组API实现对程序运行时相关目录的获取和设置.用户可以使用GetCurrentDirectory和SetCurrentDirectory获取程序的当前目录,获取模块的路径使用G ... 
- Linux下通过ioctl系统调用来获取和设置网络信息
		#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ... 
- CheckBoxList 获取与设置选中的值
		/// <summary> ///CheckBoxListHelper 的摘要说明 ///CheckBoxList获取与设置选中的值 /// </summary> public ... 
随机推荐
- angularJS中-$route路由-$http(ajax)的使用
			后台请求使用的是nodeJS驱动(后面帖代码),很简单的RESTFUL, 页面使用的是bottstarp3.0(懒人神器); 第一个例子: 在本地架设NODEJS, angular的所有请求都是请求本 ... 
- angular_routerJS_学习
			//这几天看了angularjs和backbone,大看了解了knockout和emberjs,刚刚上网看到了一个angular的router的demo,现在顺便记下来 <!--- DEMO_I ... 
- c#截图
			private void Form_Load(object sender, EventArgs e){ //接收web url string colle = string.Empty; stri ... 
- oracle使用存储过程实现日志记录.sql
			--这段sql语句是用来实现oracle后台记录操作日志的,代替或者补充应用系统的操作日志. --1.对应的日志记录表----------------------------------------- ... 
- 001-编译hadoop-2.5.2总结
			前两天废了很大的劲来对hadoop-2.5.2进行64位系统的手动编译,由于对linux系统环境以及hadoop本身的不熟悉,编译过程中也出现了很多的问题,在此记录一下,对自己以后再次编译和看到此文章 ... 
- BZOJ-2324    营救皮卡丘      最小费用可行流+拆下界+Floyd预处理
			准备一周多的期末,各种爆炸,回来后状态下滑巨快...调了一晚上+80%下午 2324: [ZJOI2011]营救皮卡丘 Time Limit: 10 Sec Memory Limit: 256 MB ... 
- 洛谷P1508 Likecloud-吃、吃、吃
			题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏 ... 
- jsp中 response和request区别
			1.response 属于重定向请求: 其地址栏的URL会改变: 会向服务器发送两次请求: 2. request 属于请求转发: 其地址栏的URL不会改变: 向服务器发送一次请求: 举一个区分它们的简 ... 
- 新建android工程的时候eclipse没有生成MainActivity和layout布局
			一.新建android工程的时候eclipse没有生成MainActivity和layout布局 最近由于工作上的原因,开始学习Android开发,在入门的时候就遇到了不少的坑,遇到的第一个坑就是&q ... 
- MyEclipse------随机流(能读也能写数据)
			RandomAccessFile流指向文件时,不刷新文件. 其中seek(long a)用来定位RandomAccessFile流的读写位置,其中参数a确定读写位置距离文件开头的字节个数. other ... 
