PHP Include File

You can insert the content of a file into a PHP file before the server executes it, with the include() or require() function.

The two functions are identical in every way, except how they handle errors.

The include() function generates a warning (but the script will continue execution) while the require() function generates a fatal error (and the script execution will stop after the error).

These two functions are usually used to create functions, headers, footers, sidebar, or elements that can be reused on multiple pages.

This can save the developer a considerable amount of time. This means that you can create a standard header or menu file that you want all your web pages to include. When the header needs to be updated, you can only update this one include file, or when you add a new page to your site, you can simply change the menu file for add menu link for that new page.

The include() Function

The include() function takes all the text in a specified file and copies it into the file that uses the include function.

Example 1

Assume that you have a standard header file, called “header.php“. To include the header file in a page, use the include() function, like this example, file home.php :

<html>
<body>

<?php include(“header.php“); ?>

<h1>Welcome to my home page</h1>

<p>Another text</p>

</body>
</html>

and at file header.php :

<a href=”http://www.forcescript.com”>Home</a> |
<a href=”http://proxy-name.com”>Proxy Name</a> |
<a href=”http://www.gbpforex.com”>GbpForex</a>

Example 2

Now, let’s assume we have a standard menu file that should be used on all pages (include files usually have a “.php” extension). Look at the “header.php” file below:

<html>
<body>

<a href=”http://www.forcescript.com”>Home</a> |
<a href=”http://proxy-name.com”>Proxy Name</a> |
<a href=”http://www.gbpforex.com”>GbpForex</a>

and at home.php file :

<?php include(“header.php“); ?>

<h1>Welcome to my home page</h1>

<p>Another text</p>

</body>
</html>

If you look at the source code of the “home.php” in a browser, it will look something like this:

<html>
<body>

<a href=”http://www.forcescript.com”>Home</a> |
<a href=”http://proxy-name.com”>Proxy Name</a> |
<a href=”http://www.gbpforex.com”>GbpForex</a>

<h1>Welcome to my home page</h1>

<p>Another text</p>

</body>
</html>

The require() Function

The require() function is identical to include(), except that it handles errors differently.

The include() function generates a warning (but the script will continue execution) while the require() function generates a fatal error (and the script execution will stop after the error).

If you include a file with the include() function and an error occurs, you might get an error message like the one below.

PHP code:

<html>
<body>

<?php
include(“wrongFile.php“);
echo “Hello World!”;
?>

</body>
</html>

if at local server contain no wrongFile.php will display error :

Warning: include(wrongFile.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Warning: include() [function.include]:
Failed opening ‘wrongFile.php’ for inclusion
(include_path=’.;C:\php5\pear’)
in C:\home\website\test.php on line 5

Hello World!

Notice that the echo statement is still executed! This is because a Warning does not stop the script execution.

Now, let’s run the same example with the require() function.

PHP code:

<html>
<body>

<?php
require(“wrongFile.php”);
echo “Hello World!”;
?>

</body>

Error will display :

Warning: require(wrongFile.php) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Fatal error: require() [function.require]:
Failed opening required ‘wrongFile.php’
(include_path=’.;C:\php5\pear’)
in C:\home\website\test.php on line 5

The echo statement was not executed because the script execution stopped after the fatal error.

It is recommended to use the require() function instead of include(), because scripts should not continue executing if files are missing or misnamed.

Leave a comment

2 Comments.

  1. I’m impressed!! Really informative blog post here my friend. I just wanted to comment & say keep up the quality work. I’ve bookmarked your blog just now and I’ll be back to read more in the future my friend! Also nice colors on the layout, it’s really easy on the eyes.

  2. I’m impressed!!! Really informative blog post here my friend. I just wanted to comment & say keep up the quality work. I’ve bookmarked your blog just now and I’ll be back to read more in the future my friend! Also nice colors on the layout, it’s really easy on the eyes.

Leave a Reply


[ Ctrl + Enter ]