PHP:文件加载



PHP文件加载综述:

有4个文件加载的语法形式(注意,不是函数):include , include_once , require , require_once;

它们的本质是一样的,都是用于加载(引入/包含/载入)一个外部文件到当前php代码中来。

它们只在2个方面有细微区别:

1:如果加载文件失败,则有不同的处理规则。include 与 require不同

2:如果加载重复,则有不同的处理规则。XXX 与 XXX_once 不同

3:它们都是语法结构,而非函数,使用形式可以有两种:

include ‘文件路径‘;

include(‘文件路径‘);

文件路径:

不管是哪个载入语法结构,都涉及到文件路径问题。主要有3种情况:

1:相对路径

就是以“./”,或“../”,开头的路径

./    表示当前网页文件的所在位置(文件夹/目录);

../    表示当前网页文件的所在位置的上一级位置(文件夹/目录);

这种相对位置对一个网站中的所有内容(包括php,html,图片,css,js文件)都有效

2:绝对路径

有两种绝对路径:

本地绝对路径:

window系统:c:/d1/d2/index.php

unix系统:  /d1/d2/index.php

网络绝对路径:http://www.abc.com/d1/d2/index.php

3:只有文件名(无路径,只给出文件名,不推荐)

在php的include语法(其它3个也一样)中,如果只给出文件名,而没有给出路径,则此时有其内部找到该文件的规则,如下:

首先在系统设置的include目录中查找

在php.ini配置文件中,有:include_path设定

可见默认无设定;该设定其实可以设定多个目录,其间用分号分开;系统会按顺序依次查找

没找到,则在网页文件所在目录下找(当前工作目录)

没找到,则在当前include命令所在文件的目录下找

文件载入过程:

从include语句处退出php脚本模式(进入html代码模式)

载入include语句所设定的文件中的代码,并执行之(如同在当前文件中一样)

退出html模式重新进入php脚本模式,继续之后的代码

几个区别:

include_once and include的区别:前者能保证不会被重复加载

require and include 的区别:如果被包含文件不存在,即引用失败(出错)时,include警告并继续执行后面的代码,require会直接终止

require_once and require 的区别:前者能保证不会被重复加载

return 关键字:

以前,我们只在函数中出现return关键字,其作用是,结束函数,并可以返回数据;

return; //单纯结束;

return $x; //结束,并返回数据$x;

那么,被包含(载入)的文件中的return也具有同样的作用!

默认情况下include载入成功返回1,载入失败返回false

但被包含的文件中可以使用return语句返回数据值并终止该文件的后续部分的执行

return返回的数据如同函数返回值一样可以进一步处理(比如赋值给其它变量)

时间: 2024-11-05 20:43:22

PHP:文件加载的相关文章

Cocos2d之Texture2D类详解之将文件加载成Texture2D对象

一.声明 笔者以cocos2d框架cocos2d-x-3.3rc0版本的源码做分析.本文为笔者原创,允许转载和分享,只要注明文章出处即可. 二.简介 Texture2D类简介 Texture2D类允许开发者用图像.文本信息和简单的数据来创建OpenGL2D纹理.被创建的纹理拥有两个维度.根据开发者创建Texture2D对象方式的不同,实际图像的尺寸可能比生成的纹理的尺寸要小,而且纹理的内容是倒置的. 像素格式 在计算机图形学中,人们用每个像素在内存中的总位数以及分别存储红.蓝.绿和alpha(阿

Java基础之Throwable,文件加载

Java中的异常与错误都继承自Throwable,Exception又分为运行时异常(RuntimeException)和编译时异常. 运行时异常是程序的逻辑不够严谨或者特定条件下程序出现了错误,例如做除法运算时除数为0,运行时异常Java是不要求一定去try,catch进行捕获的.我们调试代码要减少的就是运行时异常,随着代码的调试运行时异常被捕获,程序的健壮性也就得到了提升. 编译时异常例如文件未找到异常,IO异常,SQLException等,这些是可以预知的异常(checked Except

Java 文件变化加载监控,实时监控文件加载之Commons-io

Java 文件监控,实时监控文件加载 ,Commons-io中已有此功能的实现,如下代码所示: package wy.util.filemonitor; import java.io.File; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationObserver; import org.apache.log4j

前端设计中关于外部js文件加载的速度优化

在一般情况下,许多人都是将<script>写在了<head>标签中,而许多浏览器都是使用单一的线程来加载js文件的,从上往下,从左往右. 若是加载过程出错,那么网页就会阻塞,就像许多网站用Google的CDN库,而我们在墙内访问一样.页面不会出来,一直加载这个js文件,直到浏览器放弃加载为止! 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default

getClass()和getClassLoader()区别 以及ClassLoader详解及用途(文件加载,类加载)

获得ClassLoader的几种方法可以通过如下3种方法得到ClassLoader this.getClass().getClassLoader(); // 使用当前类的ClassLoader Thread.currentThread().getContextClassLoader(); // 使用当前线程的ClassLoader ClassLoader.getSystemClassLoader(); // 使用系统ClassLoader,即系统的入口点所使用的ClassLoader.(注意,s

远景WEBGIS平台实现客户端SHP文件加载

远景WEBGIS平台的研发目前取得新进展,实现客户端shp文件的加载,可以不经过PC上的数据转换工具转换. 远景WEBGIS平台(RemoteGIS)是基于HTML5自主研发的新一代WEBGIS基础平台,它使用Javascript开发,具有良好的系统架构和高可扩展性.是全新的高效.专业.稳定的GIS平台. 现在正在开发在线产品"远景云GIS(RGIS Online)",提供在线的数据上传.符号配置.查询检索.空间分析.地图发布等功能,客户端Shp文件的加载功能是远景云GIS的一个重要部

Egret的config加载类,支持多个文件加载

ResUtils.ts /** * Created by yangsong on 15-2-11. * 资源加载工具类, * 支持多个resource.json文件加载 */ class ResUtils { private static instance:ResUtils; private _configs: Array<any>; private _onConfigComplete: Function; private _onConfigCompleteTarget: any; publi

extjs 文件加载、解析流程

extjs版本:4.2.1 在html中添加应用的启动脚本,如下: <script src="app.js"></script> 2. 用户访问html的时候,会去加载app.js文件,app中定义了应用的名字,根路径等信息,并且调用Ext.application()方法,如下: Ext.application({     name: 'Seed',     extend: 'Seed.Application',     autoCreateViewport: 

JS文件加载:比较async和DOM Script

async与script动态加载都能使文件异步加载,本文叙述它们对页面渲染和load加载的影响方面. 目前我用demo.js作为执行文件操作.代码: var now = function() { return +(new Date()); } var t_s = now(); while(now() - t_s < 2000) { } 用sleep.php作为请求文件操作.代码: <?php sleep(3); echo 'var bb'; ?> 1. 一般script标签加载 <

ELF文件加载与动态链接(一)

ELF格式文件简单介绍 关于ELF文件的详细介绍,推荐阅读: ELF文件格式分析 —— 滕启明.ELF文件由ELF头部.程序头部表.节区头部表以及节区4部分组成. 通过objdump工具和readelf工具,可以观察ELF文件详细信息. ELF文件加载过程分析 从编译.链接和运行的角度,应用程序和库程序的链接有两种方式.一种是静态链接,库程序的二进制代码链接进应用程序的映像中:一种是动态链接,库函数的代码不放入应用程序映像,而是在启动时,将库程序的映像加载到应用程序进程空间. 在动态链接中,GN