0

0

php文件调用与包含几个函数include_once() require_once()include()require(

php中文网

php中文网

发布时间:2016-06-13 09:55:13

|

1109人浏览过

|

来源于php中文网

原创

require()
require() 语句包括并运行指定文件。

require() 语句包括并运行指定文件。有关包括如何工作的详细信息见 include() 的文档。

require() 和 include() 除了怎样处理失败之外在各方面都完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。

例子 16-2. 基本的 require() 例子

   


更多例子参见 include() 文档。


注: 在 php 4.0.2 之前适用以下规则:require() 总是会尝试读取目标文件,即使它所在的行根本就不会执行。条件语句不会影响 require()。不过如果 require() 所在的行没有执行,则目标文件中的代码也不会执行。同样,循环结构也不影响 require() 的行为。尽管目标文件中包含的代码仍然是循环的主体,但 require() 本身只会运行一次。


注: 由于这是一个语言结构而非函数,因此它无法被“变量函数”调用。

include()
include() 语句包括并运行指定文件。

以下文档也适用于 require()。这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。

当一个文件被包括时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。

立即学习PHP免费学习笔记(深入)”;

例子 16-3. 基本的 include() 例子

vars.php

$color = 'green';
$fruit = 'apple';

?>

test.php

echo "a $color $fruit"; // a

include 'vars.php';

echo "a $color $fruit"; // a green apple

?> 

 


如果 include 出现于调用文件中的一个函数里,则被调用的文件中所包含的所有代码将表现得如同它们是在该函数内部定义的一样。所以它将遵循该函数的变量范围。

例子 16-4. 函数中的包括

function foo()
{
   global $color;

   include 'vars.php';

   echo "a $color $fruit";
}

/* vars.php is in the scope of foo() so    *
 * $fruit is not available outside of this  *
 * scope.  $color is because we declared it *
 * as global.                              */

foo();                    // a green apple
echo "a $color $fruit";  // a green

?> 
 


当一个文件被包括时,语法解析器在目标文件的开头脱离 php 模式并进入 html 模式,到文件结尾处恢复。由于此原因,目标文件中应被当作 php 代码执行的任何代码都必须被包括在有效的 php 起始和结束标记之中。

如果“url fopen wrappers”在 php 中被激活(默认配置),可以用 url(通过 http 或者其它支持的封装协议 - 所支持的协议见 附录 l)而不是本地文件来指定要被包括的文件。如果目标服务器将目标文件作为 php 代码解释,则可以用适用于 http get 的 url 请求字符串来向被包括的文件传递变量。严格的说这和包括一个文件并继承父文件的变量空间并不是一回事;该脚本文件实际上已经在远程服务器上运行了,而本地脚本则包括了其结果。


警告
windows 版本的 php 在 4.3.0 版之前不支持本函数的远程文件访问,即使 allow_url_fopen 选项已被激活。
 

例子 16-5. 通过 http 进行的 include()

/* this example assumes that www.zhutiai.com is configured to parse .php *
 * files and not .txt files. also, 'works' here means that the variables *
 * $foo and $bar are available within the included file.                */

// won't work; file.txt wasn't handled by www.example.com as php
include 'http://www.example.com/file.txt?foo=1&bar=2';

// won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // works.
include 'file.php';  // works.

?> 
 


相关信息参见使用远程文件,fopen() 和 file()。

因为 include() 和 require() 是特殊的语言结构,在条件语句中使用必须将其放在语句组中(花括号中)。

例子 16-6. include() 与条件语句组

// this is wrong and will not work as desired.
if ($condition)
   include $file;
else
   include $other;


// this is correct.
if ($condition) {
   include $file;
} else {
   include $other;
}

?> 
 


处理返回值:可以在被包括的文件中使用 return() 语句来终止该文件中程序的执行并返回调用它的脚本。同样也可以从被包括的文件中返回值。可以像普通函数一样获得 include 呼叫的返回值。


注: 在 php 3 中,除非是在函数中调用否则被包括的文件中不能出现 return。在此情况下 return() 作用于该函数而不是整个文件。


例子 16-7. include() 和 return() 语句

return.php

Dreamlike.art
Dreamlike.art

内置5种模型的AI图像生成器

下载

$var = 'php';

return $var;

?>

noreturn.php

$var = 'php';

?>

testreturns.php

$foo = include 'return.php';

echo $foo; // prints 'php'

$bar = include 'noreturn.php';

echo $bar; // prints 1

?> 

 


$bar 的值为 1 是因为 include 成功运行了。注意以上例子中的区别。第一个在被包括的文件中用了 return() 而另一个没有。其它几种把文件“包括”到变量的方法是用 fopen(),file() 或者 include() 连同输出控制函数一起使用。

注: 由于这是一个语言结构而非函数,因此它无法被“变量函数”调用。
require_once()
require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。有关此语句怎样工作参见 require() 的文档。

require_once() 应该用于在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包括一次以避免函数重定义,变量重新赋值等问题。

使用 require_once() 和 include_once() 的例子见最新的 php 源程序发行包中的 pear 代码。


注: require_once() 是 php 4.0.1pl2 中新加入的。

 

注: 要注意 require_once() 和 include_once() 在大小写不敏感的操作系统中(例如 windows)的行为可能不是你所期望的。 例子 16-8. require_once() 在 windows 下不区分大小写

require_once("a.php"); // this will include a.php
require_once("a.php"); // this will include a.php again on windows!
?> 


 

 


警告
windows 版本的 php 在 4.3.0 版之前不支持本函数的远程文件访问,即使 allow_url_fopen 选项已被激活。
 

include_once()
the include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。如同此语句名字暗示的那样,只会包括一次。

include_once() 应该用于在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包括一次以避免函数重定义,变量重新赋值等问题。

使用 require_once() 和 include_once() 的更多例子见最新的 php 源程序发行包中的 pear 代码。


注: include_once() 是 php 4.0.1pl2 中新加入的。

 

注: 要注意 include_once() 和 require_once() 在大小写不敏感的操作系统中(例如 windows)的行为可能不是你所期望的。 例子 16-9. include_once() 在 windows 下不区分大小写

include_once("a.php"); // this will include a.php
include_once("a.php"); // this will include a.php again on windows!
?> 
 

 


警告
windows 版本的 php 在 4.3.0 版之前不支持本函数的远程文件访问,即使 allow_url_fopen 选项已被激活。
 

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

115

2025.12.24

拼豆图纸在线生成器
拼豆图纸在线生成器

拼豆图纸生成器有PixelBeads在线版、BeadGen和“豆图快转”;推荐通过pixelbeads.online或搜索“beadgen free online”直达官网,避开需注册的诱导页面。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

82

2025.12.24

俄罗斯搜索引擎yandex官方入口地址(最新版)
俄罗斯搜索引擎yandex官方入口地址(最新版)

Yandex官方入口网址是https://yandex.com。用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

546

2025.12.24

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2025.12.24

php框架基础知识汇总
php框架基础知识汇总

php框架是构建web应用程序的架构,提供工具和功能,以简化开发过程。选择合适的框架取决于项目需求和技能水平。实战案例展示了使用laravel构建博客的步骤,包括安装、创建模型、定义路由、编写控制器和呈现视图。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

20

2025.12.24

Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

47

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

7

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

12

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

371

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 7.8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号