PHP中include和require的区别详解

作者&投稿:寿志 (若有异议请与网页底部的电邮联系)
PHP中include和require的区别详解~

1.include与require的区别
require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:
if($a){
include("a.php");
}
而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:
if($a){
require("a.php");
}
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。

2.require_once()和include_once()语句
题外话了,因为长的像,简单require_once()和include_once()语句分别对应于require()和include()语句。require_once() 和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。

3.加载地址参数不可用,可直接读取当前文件变量值

require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。
  require的使用方法如:require("myfile.php"),这个语句通常放在PHP脚本程序的最前面。PHP程序在执行前,就会先读入require()语句所引入的文件,使它变成PHP脚本文件的一部分。include使用方法和require一样如:include("myfile.php"),而这个语句一般是放在流程控制的处理区段中。PHP脚本文件在读到include()语句时,才将它包含的文件读取进来。这种方式,可以把程式执行时的流程简单化。

PHP中引用方法主要分为两种,分别是:

  • include (细分为include和include_once)

  • require (细分为require和require_once)

这两类都可以将 PHP 文件的内容插入另一个 PHP 文件(在服务器执行它之前)。但是在错误处理方面有一定的区别.

  • require 会生成致命错误(E_COMPILE_ERROR)并停止脚本

  • include 只生成警告(E_WARNING),并且脚本会继续

所以在使用的时候要明确

如果你的程序需要在引用错误的时候还要继续执行,就使用include(如:不怎么重要的文件.不会对结果产生很大影响的文件.)

如果引用失败就立即停止,必须保证程序完整性的,则使用require.(如:货币计算处理文件,对结果会产生很大影响,很重要的文件.)

include_once和require_once

这两种在错误处理的时候与include和require一致,但是在使用include_once和require_once引用文件的时候,仅仅引用一次,可以避免多次引用时错误.

在实际使用中,建议使用include_once和require_once来引用文件,既能达到原有目的,也能避免多次引用带来的错误.



二种方式提供不同的使用弹性。

require 的使用方法如 require("MyRequireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。

PHP中include和require的区别详解:

1、加载文件方式不同

对于include()语句,在执行文件时每次都要进行读取和评估;

对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。

2、使用的场景不同:

  • 如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。

  • require的使用方法如:require("myfile.php"),这个语句通常放在PHP脚本程序的最前面。

  • include使用方法和require一样如:include("myfile.php"),而这个语句一般是放在流程控制的处理区段中。

3、使用上的区别:

include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。

require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。

举例说明,写两个php文件,名字为test-include.php和test-require.php,注意相同的目录中,不要存在一个名字是test-nothing.php的文件。

test-include.php代码如下:

<?php
include 'test-nothing.php';
echo 'abc';
?>

test-require.php代码如下:

<?php
require 'test-nothing.php';
echo 'abc';
?>

浏览http://localhost/test-include.php,因为没有找到test-nothing.php文件,我们看到了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况:

Warning: include(test-nothing.php) [function.include]: failed to open stream: No such file or directory in D:\wwwest-include.php on line 2


Warning: include() [function.include]: Failed opening 'test-nothing.php' for inclusion (include_path='.;C:\php5\pear') in D:\wwwest-include.php on line 2


浏览http://localhost/test-require.php,因为没有找到test-nothing.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:

Warning: require(test-nothing.php) [function.require]: failed to open stream: No such file or directory in D:\wwwest-require.php on line 2

Fatal error: require() [function.require]: Failed opening required 'test-nothing' (include_path='.;C:\php5\pear') in D:\wwwest-require.php on line 2




php中require和include的区别
HP的include()和require()是两种包含外部文件的方法,二者的区别如下:1:加载失败的处理方式不同:include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)require() :如果文件不存在,会报出一个fatal error.脚本停止执行 include() : 如果文件不存在,会给出一个 warn...

#include 是什么意思?
include是一个计算机专业术语,一指C\/C++中包含头文件命令,用于将指定头文件嵌入源文件中。#include一般用在C、C++等语系的编译环境(就是用在编程软件的编程代码里)中,直白的说,它就是告诉你,在这个地方,你要插入一堆代码,这堆代码在另一个文件里。例如:#include <stdio.h>这就是说,在代...

hp laserjet 3015一体机的传真怎样取消打印发送报告?
您好,感谢您选择惠普产品。您可以参考下述方法关闭传真报告 1.按菜单进入,按右键找到report,按确定键进入,按右箭头找fax call report ,按确定键进入,按右箭头找include 1st page,按一下确定键,按右箭头找off,按确定键即可。2.按菜单进入,按右键找到report,按确定键进入,按右箭头找fax call re...

c++ #include< >里面可以加什么?
include 是用来包含头文件的,include <>又是专门用来包含默认路径下的头文件的。(注意与#include " "的区别,这个用来包含当前目录下或绝对路径里的头文件)你可以去查看你的编译器安装路径下的include文件夹里的文件,列表如下 algorithm assert.h bitset cassert ccomplex cctype cerrno cfloat c...

一道c语言编程?
三、合并后的内容,我是写入新的文件中,如你想要覆盖同文件,自行修改路径常量。include <stdio.h> include <malloc.h> include <string.h> define NN "C:\\\\newFile.c"\/\/合并后的文件完整路径 define HPH "C:\\\\"\/\/头文件的默认路径 int getFSize(char *Path);\/\/获取文件字节数,参数文件...

我在hp m605打印机里面设置了禁止空白页,为什麼我打印的文档里面有空...
您好 感谢您选择HP产品 此功能解释如下:This option is for users who are generating their own PCL, which could include extra form feeds that would cause blank pages to be printed. When the Yes option is selected, form feeds are ignored if the page is blank.翻译过来的意思是:这个...

在unix下运行: cd \/usr\/include; h2ph * sys\/* 出现错误如何解决? for...
你的这个h2ph是谁自己写的脚本吧,不是Solaris系统命令。你的命令“# cd \/usr\/include; h2ph * sys\/* ”就是2个命令写一行了,一条命令是“cd \/usr\/include”,就是进入目录\/usr\/include。另一条命令是“h2ph * sys\/*”,从你的运行打印来看,看起来是将\/usr\/include下的所有*h结尾的文件...

C++程序设计,成绩排序
hp[i-1].next=hp+i;} \/\/以下打出前10个结点看看,若不需要则删除到return 0;之前 cout << " STUID\\tNAME\\tSCORE1\\tSCORE2\\tSCORE3\\tSCORE4\\tSCORE5\\tAVE\\n";cout << "===\\n";for(STU *p=hp;p!=hp+10;p=p->next){ cout << p->id << '\\t' << p->name << '\\...

(高分)关于 gethostbyname函数的具体使用 谢谢
include <netdb.h> include <sys\/socket.h> int main(int argc, char **argv){ char *ptr,**pptr;struct hostent *hptr;char str[32];\/* 取得命令后第一个参数,即要解析的域名或主机名 *\/ ptr = argv[1];\/* 调用gethostbyname()。调用结果都存在hptr中 *\/ if( (hptr = ...

winsock.h是什么语言写的?C语言可以include使用吗?
include <WinSock.h> pragma comment(lib, "ws2_32.lib")int main(int argc, char* argv[]){ HOSTENT *host_entry;char host_name[256];int n;struct WSAData wsadata;int sock;struct sockaddr_in srvaddr;struct hostent *hp;char data[1024];char c;int i = 0...

黄山市17525408873: PHP中include和require的区别详解 -
父寇牛黄: 1.include与require的区别 require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份.常用的函数,亦可以这个...

黄山市17525408873: PHP中include和required区别是什么? -
父寇牛黄:require()语句的功能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()...

黄山市17525408873: php中require和include的区别 -
父寇牛黄: HP的include()和require()是两种包含外部文件的方法,二者的区别如下:1:加载失败的处理方式不同:include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)require() :如果文件不存在,会报...

黄山市17525408873: php中include和require有什么区别 -
父寇牛黄: 平常是没区别的.当要加载的文件不存在时候, include会给一个warning警告, 然后继续运行. 而require则会给一个fatal error, 直接结束脚本

黄山市17525408873: [php]require 和include -
父寇牛黄: 简单说一下 require和include,前者当包含的文件不存在时,程序停止执行,后者当包含的文件不存在时只是报一个警告,程序继续执行.require和require_once,这两个区别为,前者遇到即包含文件,后者会判断是否已经包含过了,如果包含...

黄山市17525408873: php中include和require有什么区别?
父寇牛黄:天南给你解说下:@在PHP中是抑制符,用来抑制错误信息输出; include 或 include_once 包含文件,如果文件包含失败,则向页面输出错误信息,然后继续执行后续代码; 而require 或 require_once 包含文件,当文件包含失败时,向页面输出错误信息,并停止当前页面的解析; 所以严格意义上讲,当我们要包含文件时,请使用 require 或 require_once

黄山市17525408873: php 中 include 和 require 的区别? -
父寇牛黄: 这两种结构除了在如何处理失败之外完全一样.include() 产生一个警告而 require() 则导致一个致命错误.换句话说,如果你想在遇到丢失文件时停止处理页面就用 require().include() 就不是这样,脚本会继续运行.我记得我在黑马程序员社区刷面试题的时候刷到过这个题.如果有类似的问题,基本上都可以到社区找到答案,板块很清晰,上面也会有同道中人大家一起讨论.气氛很好

黄山市17525408873: php使用include和require的却别? -
父寇牛黄: inlcude包含文件时有条件的,require无条件,如果文件不存在,或者出错,include只是warning一个警告,而require是致命的错误.

黄山市17525408873: php使用include 和require引入文件的区别 -
父寇牛黄: require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误. 以下为补充:1. include有返回值,而require没有.2. include()包括并运行...

黄山市17525408873: php 中include()与require()的对比~呢? -
父寇牛黄: include遇到错误和文件不存在,不会报错,程序可以继续执行.require遇到文件不存在,会报错找不到文件,程序终止.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网