Home > Backend Development > PHP Tutorial > Let's talk about the differences between require(), include(), require_once() and include_once() in PHP_PHP Tutorial

Let's talk about the differences between require(), include(), require_once() and include_once() in PHP_PHP Tutorial

WBOY
Release: 2016-07-13 16:56:11
Original
921 people have browsed it

This article introduces the usage and differences of four PHP functions for calling external files. Friends who need to know more can refer to it.

There are two ways to reference files: require and include. The two methods provide different usage flexibility.

Require is used as require("MyRequireFile.php");. This function is usually placed at the front of the PHP program. Before the PHP program is executed, it will first read in the file specified by require and make it a part of the PHP program web page. Commonly used functions can also be introduced into web pages in this way.

include is used like include("MyIncludeFile.php"); . This function is generally placed in the processing part of flow control. The PHP program webpage only reads the include file when it reads it. In this way, the process of program execution can be simplified.


The _once suffix means that the loaded ones are not loaded

1. Error reporting

When include imports a file, if an error is encountered, a prompt will be given and the code below will continue to run
When require imports a file, if an error is encountered, a prompt will be given and the code below will stop running

Note: Prior to PHP 4.3.5, syntax errors in include files did not cause the program to stop, but they will from this version onwards.

2. Conditional Reference


include() and require() have the same function, but there are some differences in usage. include() is a conditional inclusion function, while require() is an unconditional inclusion function,
For example, in the following example, if the variable $somg is true, the file somefile.php will be included:

 代码如下 复制代码
if($some){ include 'somefile.php'; }

But no matter what value $some takes, the following code will include the file somefile.php into the file:

 代码如下 复制代码
if($something){   require 'somefile.php'; }

The following example fully illustrates the difference between these two functions

The code is as follows Copy code
$i = 1;
 代码如下 复制代码
$i = 1;
while ($i < 3) { require "somefile.$i.php"; $i++; }
while ($i < 3) { require "somefile.$i.php"; $i++; }

It can be seen from the above code that the program will include the same file every time it loops. Obviously this is not what we want. It can be seen that this code hopes to include the same file every time it loops. ,
To include different files, if you want to complete this function, you can only use the function include()

The code is as follows Copy code
$i = 1;
代码如下 复制代码
$i = 1;
while ($i < 3) {
include "somefile.$i.php"; $i++;
}
while ($i < 3) { <🎜> include "somefile.$i.php"; $i++; <🎜> }

3.require when using relative path

When A refers to B, and B refers to another file C, if the path of C is a relative path, it is relative to the path of A, not relative to B'

4.require_once() statement includes and runs the specified file during script execution. This behavior is similar to the require() statement, the only difference is that if the code in the file is already included, it will not be included again.

The

include_once() statement includes and runs the specified file during script execution. This behavior is similar to the include() statement, the only difference is that if the code in the file is already included, it will not be included again. As the name of this statement implies, it will only be included once.


5..File reference method

include has a return value, but require does not

The code is as follows
代码如下 复制代码
$login = include(’test.php’);
if(!empty($login))
{ echo “文件包含成功”;
}
else
{ echo “文件包含失败”;
}
Copy code


$login = include('test.php' );
if(!empty($login))
{ echo “File included successfully”;
}

else
代码如下 复制代码

conn.php
$dbh=mysql_connect('localhost','root','123456');
mysql_select_db('DB','$dbh');
?>
在实际应用中,我们调用文件如:
require("conn.php")或者include("conn.php");
但是如果这样:
filename.php
require("conn.php");
function myfun($par1,$par2)
{包含对数据库处理的语句}
.....
myfun($par1,$par2);
.....
myfun($p1,$p2);
?>


 

{ echo "File inclusion failed";

}



The files that need to be referenced when include() is executed must be read and evaluated every time,
The file that needs to be referenced when require() is executed is only processed once (in fact, the content of the file that needs to be referenced during execution replaces the require() statement)
It can be seen that if there is code that contains one of these instructions and code that may be executed multiple times, it is more efficient to use require(),
If a different file is read each time the code is executed or there is a loop that iterates through a set of files, use include(),
You can set a variable for the file name you want to include. Use this variable when the parameter is include()

conn.php
The code is as follows
Copy code
$dbh=mysql_connect('localhost','root','123456');

mysql_select_db('DB','$dbh');

?>

In practical applications, we call files such as: But if this: filename.php require("conn.php"); function myfun($par1,$par2) {Contains statements for database processing} ..... myfun($par1,$par2); ..... myfun($p1,$p2); ?>
Summary include is loaded when used require is loaded at the beginning The _once suffix indicates that the loaded one is not loaded The PHP system has a pseudo-compilation process when loading PHP programs, which can make the program run faster. But the document for include is still interpreted and executed There is an error in the include file, the main program continues to execute There is an error in the require file and the main program has stopped Therefore, if errors in included files have little impact on the system (such as interface files), use include, otherwise use require The following documentation also applies to require(). The two structures are identical except for how they handle failure. include() produces a warning and require() causes a fatal error. In other words, use require() if you want to stop processing the page if a missing file is encountered. This is not the case with include() and the script will continue to run. Also make sure the appropriate include_path is set. The require() function replaces itself with the contents of the given file. This replacement process occurs when the PHP engine compiles the code, not during execution. It does not calculate first like include(). The require() function is more used in static elements, while include() is used more in dynamic elements. Similar to include_once(), require_once() will first check whether the given code has been inserted. If the code already exists, it will not be inserted again. http://www.bkjia.com/PHPjc/631631.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/631631.htmlTechArticleThis article introduces the usage and differences of four PHP functions for calling external files. Friends who need to know more can refer to it. There are two ways to reference files: require and include. Two ways to mention...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template