ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PHP文件包含4种方式

2021-07-16 13:00:18  阅读:169  来源: 互联网

标签:文件 include 包含 require PHP once


1.include()
include()语句讲在其被调用的位置判断并包含一个文件,包含一个文件与复制该文件的数据到该语句所在位置具有相同的结果,其形式为:

include('filename');


与print和echo语句一样,使用include()时可以忽略括号,假如,假设希望包含一系列预定义的函数和配置变量,可以将这些函数和配置变量放在单独的文件中(列如:init.inc.php),然后在每个PHP脚本顶部包含这个文件,如下:

<?php
    include "init.inc.php"
?>


还可以根据条件来执行include()语句。注意,此时include()必须包含在语句块大括号内,或者用其他语句包围符括起。
Wrong:

<?php
    if(expression)
        include('filename');
    else
        include('another_filename');
?>


Right:

<?php
    if(expression){
        include('filename');
    }else{
        include('another_filename');
    }   
?>


关于include()语句有一个误解,以为因所包含的代码会嵌套在PHP执行块,所以不需要PHP转义标签。但是,事实并非如此,必须始终使用界定符。因此,不要指望只是将PHP命令放在一个文件中就能正确的解析。
Wrong:

echo "this is an invalid include file";

Right

<?php
    echo "this is a valid include file";
?>

实际上任何PHP语句都必须使用正确的转义标签包围。

如果启用了PHP配置指令allow_url_fopen,还可以在include()语句中引用一个远程文件,如果所在的服务器支持PHP,通过传递必要的键/值对(类似于GET请求的做法),所包含文件中的变量也会得到解析,如下:

include "http://XXXXXX/XXX/index.html?background=blue";

2.include_once()
include_once()函数的作用域include()相同,不过它会首先验证是否已经包含了该文件,其形式如下:

include_once(filename);

如果已经包含了文件,则不再执行include_once()。否则,必须包含该文件。除了这一点区别,include_once与include()完全相同

3.require()

require(filename)

require()和include()之间有两点重要的区别。
首先,无论require()的位置如何,指定文件都将包含到require()的脚本中。
例如,即使require()放在计算为假的if语句中,依然会包含指定文件!

第二个重要区别:require()出错时,脚本会停止执行,而在include()情况下,脚本将继续执行。

4.require_once()
require_once()函数确保脚本只包含文件一次,在遇到require_once()后,后面再试图包含相同文件的行为将被忽略。
除了require_once的验证过程外,该函数的其他方面都与require()相同
 

标签:文件,include,包含,require,PHP,once
来源: https://blog.csdn.net/nigo134/article/details/118790476

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有