php的文件引用

最近研究公司代码时发现了set_include_path(dirname(__FILE__));这样一行代码,在网上查了些资料,才把这个方法的作用弄清楚。

首先,dirname(__FILE__)这个方法返回当前代码所在文件的路径。

而set_include_path这个函数呢,就相当于windows的环境变量。windows可以通过环境变量的路径,来从指定的路径下寻找需要的文件。

当我们的项目需要引入多个类文件、函数文件时,特别是当所引用的文件路径比较深的时候,我们的代码就会变成下面这样:

1 <?php
2 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test1.php");
3 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test2.php");
4 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test3.php");
5 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test4.php");
6 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test5.php");
7 ?>

是不是感觉写出来很多冗余的代码了。

如果我们设置了set_include_path("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/");那么我们的代码前面的路径就可以省略了。

1 <?php
2 set_include_path("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/");
3 include("test1.php");
4 include("test2.php");
5 include("test3.php");
6 require("test4.php");
7 require("test5.php");
8 ?>

set_include_path函数还可以设置多个路径变量,在linux下用:分隔,在windows下用;分隔。比如:

 1 <?php
 2 define(‘A‘,‘xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/‘);
 3 define(‘B‘,‘yyy/yyy/yyy/yyy/yyy/yyy/yyy/yyy/‘);
 4 define(‘C‘,‘zzz/zzz/zzz/zzz/zzz/zzz/zzz/zzz/‘);
 5
 6 set_include_path(A.PATH_SEPARATOR.B.PATH_SEPARATOR.C);
 7
 8 include("test1.php");
 9 include("test2.php");
10 include("test3.php");
11 require("test4.php");
12 require("test5.php");
13
14 ?>

最后,还有两个php预定义变量

PATH_SEPARATOR:路径分隔符,include多个路径使用,在win下,当你要include多个路径的话,你要用”;”隔开,但在linux下就使用”:”隔开的。

还有DIRECTORY_SEPARATOR:目录分隔符,linux上就是’/’    windows上是’\’。

时间: 2024-08-14 15:49:42

php的文件引用的相关文章

微信小程序入门五: wxml文件引用、模版、生命周期

实例内容 wxml文件引用(include.import) 模版 小程序生命周期 实例一: include方式引用header.wxml文件 文件引用对于代码的重用非常重要,例如在web开发中我们可以将公用的header部分和footer等部分进行提取,然后在需要的地方进行引用. 微信小程序里面,是包含引用功能的--include.import.这两个引用文件的标签,使用基本差不多,这里先说一下include. 微信中的视图文件引用,引用过来的都是没有渲染的,基本类似于直接将引用过来的文件复制到

有用的javascript外部文件或其他外部文件引用

原文:有用的javascript外部文件或其他外部文件引用 1.<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow' rel='stylesheet' type='text/css' /><!--引入谷歌字体API--> 2.<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs

MyEclipse中关于Javascript的文件引用

> 今天试试用MyEclipse编辑一个Javascript小程序,遇到了一点小问题.程序检测了很久没有发现有什么问题,最后想想是不是路径出了问题.试了一下,发现真的是路径,而且还是很小的问题. 由于我写的Javascript是引用了外部的js文件,因此在<script>标签中加入了src属性,由于我的js文件是放在js文件夹下的,而该文件夹则放在webroot文件夹下.因此我原本打算引用的文件路径就写成了"/js/文件名".可发现网页中并没有引入该js的方法.最后我

c中头文件在cpp文件中引用和.h文件引用的思考

我们在编写程序中头文件是经常使用的.但是头文件是应该包含在.H文件中还是在.cpp文件中.在这个当中有什么样去区别呢.  假如说我们编写了一个a.cpp  .我们将a.cpp文件的变量和函数申明在a.h中.在a.h文件有使用了b.中定义的类型type1数据m_type,同样b.cpp的头文件一些变量也声明在b.h中.此时我们当然可以在a.cpp中包含b.h 也可以在a.h中.这样都是可行的,因为我们编译的时候会会将b.h包含进来.而.h文件是不参与编译的.然后我们继续深入.假如我们将b.h文件定

关于vs2012解决方案中项目DLL文件引用问题

今天用vs2012建了项目框架,老是出现说解决方案中的项目dll文件不存在,但是我按照路径去找是可以找到这个文件的,也就是说这个文件存在的.我按照引用顺序单个编译每个项目都是成功的,就是当我编译整个解决方案的时候就会报某个项目的dll文件不存在.但是我运行时可以运行的.这种问题还是我第一遇到过.我当时就在想是不是我的项目中出现循环引用了啊,因为这种错误一般情况下是不会出现的,我检查了一下项目架构,的确没有这种低级错误. 出现这种现象后来我想了一会,首先就是出现这样的原因肯定是项目在编译时先后顺序

学习ASP 文件引用常识

ASP 文件引用 Previous Page Next Page #include 命令用于在多重页面上创建需重复使用的函数.页眉. 页脚或者其他元素等. #include 命令 通过使用 #include 命令,我们可以在服务器执行 ASP 文件之前,把另一个ASP文件插入 这个文件中.#include 命令用于在多重页面上创建需重复使用的函数.页眉.页脚或者其 他元素等. 如何使用 #include 命令 这里有一个名为 "mypage.asp" 的文件: <html>

[DB][mybatis]MyBatis mapper文件引用变量#{}与${}差异

MyBatis mapper文件引用变量#{}与${}差异 默认,使用#{}语法,MyBatis会产生PreparedStatement中.而且安全的设置PreparedStatement參数,这个过程中MyBatis会进行必要的安全检查和转义. 演示样例1: 运行SQL:Select * from emp where name = #{employeeName} 參数:employeeName=>Smith 解析后运行的SQL:Select * from emp where name = ?

引用动态链接库Dll文件 引用失败 未能添加对HD.dll的引用。请确保此文件可访问并且是一个有效的程序集或COM组件

出现这个问题,是由于使用了非.NET 的动态链接库,需要注册 方法如下: 1.在搜索程序和文件中使用 regsvr32 "D:\Projects\8.01.01.03-重庆大足\lib\ValidateServerRelease32.dll" 命令就可以了 引用动态链接库Dll文件 引用失败 未能添加对HD.dll的引用.请确保此文件可访问并且是一个有效的程序集或COM组件

smarty基本语法之文件引用,以及函数的使用

smarty的文件引用: {include file="head.tpl"} {include file="head.tpl"  sitename="博客园"}    属性sitename被传递到head.tpl,可在文件中调用{$sitename} smarty中函数的使用: 1.直接使用php函数: 形式:{变量 | php内置函数 : 参数2 : 参数3} date("Y-m-d", $time)   ---->

文件引用--相对路径与绝对路径

绝对路径——指带域名的文件的完整路径. 以Web站点根目录为参考基础的目录路径.之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的. 相对路径—— 以引用文件(网页)所在位置为参考基础,而建立出的目录路径.因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对. 绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同.由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对