码迷,mamicode.com
首页 > Web开发 > 详细

PHP-文件加载

时间:2018-09-27 15:31:34      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:开头   ima   htm   bsp   http   abc   margin   本地   20px   

文件加载

一、综述:

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

include,  include_once,  require, require_once;

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

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

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

2,如果加载文件重复,则有不同的处理规则;XXX和XXX_once不同;

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

3.1  include  ‘文件路径’;

3.2  include (‘文件路径’);

二、文件路径问题

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

1, 相对路径:

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

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

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

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

2,绝对路径:

有2种绝对路径:

本地绝对路径:

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

unix系列系统: /d1/d2/page3.php

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

 

3,只有文件名(无路径)

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

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

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

  技术分享图片

  可见默认无设定;该设定其实可以设定多个目录,其间用分号分开;系统会按顺序依次找要载入的文件。

修改php.ini中的include_path为:

         技术分享图片

②我们也可以在脚本中设定:

         技术分享图片

③我们也可以使用另一个函数来获取当前的include_path的值:

         技术分享图片

2,上面没找到,在当前执行的网页文件所在目录(所谓当前工作目录)查找:

  所谓当前网页文件,就是地址栏中显示的那个文件名。

3,上面还没找到,则在当前include命令所在文件的所在目录中查找:

  如果一个文件(A)包含文件B,在文件B中又有include命令包含文件C,此时B中的路径问题就可能发生这种情况。

 

三、文件载入执行过程

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

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

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

举例:

4include_yuanli.php中:

 技术分享图片

page3.php中:

 技术分享图片

4include_yuanli.php中的代码,相当于:

 技术分享图片

 

四、几个区别:

1、include_once 和include的区别:前者能够保证不会被重复加载

2、require 和 include的区别:

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

 技术分享图片

3、require_once 和 require的区别:前者能够保证不会被重复加载

五、return关键字

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

  return; //单纯结束;

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

  那么,

被包含(载入)的文件中的return 关键字也具有同样的作用!

   技术分享图片

  技术分享图片

结果:

   技术分享图片

再来看看return返回值的形式:

   技术分享图片

  技术分享图片

结果为:

   技术分享图片

 

PHP-文件加载

标签:开头   ima   htm   bsp   http   abc   margin   本地   20px   

原文地址:https://www.cnblogs.com/wjglm/p/9712872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!