PHP Include File

« Previous Chapter Next Chapter »

Server Side Includes (SSI)

You can insert the content of one PHP file into another 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:

  • include() generates a warning, but the script will continue execution
  • require() generates a fatal error, and the script will stop

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

Server side includes saves a lot of work. This means that you can create a standard header, footer, or menu file for all your web pages. When the header needs to be updated, you can only update the include file, or when you add a new page to your site, you can simply change the menu file (instead of updating the links on all your web pages).

PHP include() Function

The include() function takes all the content in a specified file and includes it in the current file.

If an error occurs, the include() function generates a warning, but the script will continue execution.

Example

Assume that you have a standard header file, called "header.html". To include the header file in a page, use the include() function:

<html>
<body>

<?php include("header.html"); ?>
<h1>Welcome to QcTutorials!</h1>
<p>Some text.</p>

</body>
</html>

Example

Assume we have a standard menu file, called "menu.html", that should be used on all pages:

<a href="/index.html">Home</a>
<a href="/tutorials.html">Tutorials</a>
<a href="/references.html">References</a>
<a href="/examples.html">Examples</a>
<a href="/about.html">About Us</a>
<a href="/contact.html">Contact Us</a>

All pages in the Web site should include this menu file. Here is how it can be done:

<html>
<body>

<div class="leftmenu">
<?php include("menu.html"); ?>
</div>

<h1>Welcome to QcTutorials.</h1>
<p>Some text.</p>

</body>
</html>

If you look at the source code of the page above (in a browser), it will look like this:

<html>
<body>

<div class="leftmenu">
<a href="/index.html">Home</a>
<a href="/tutorials.html">Tutorials</a>
<a href="/references.html">References</a>
<a href="/examples.html">Examples</a>
<a href="/about.html">About Us</a>
<a href="/contact.html">Contact Us</a>
</div>

<h1>Welcome to QcTutorials!</h1>
<p>Some text.</p>

</body>
</html>


PHP require() Function

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

If an error occurs, the include() function generates a warning, but the script will continue execution. The require() generates a fatal error, and the script will stop.

Error Example include() Function

<html>
<body>

<?php
include("wrongFile.html");
echo "Hai Everyone!";
?>

</body>
</html>

Error message:

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

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

Hai Everyone!

Note: the echo statement is executed! This is because a Warning does not stop the script execution.

Error Example require() Function

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

<html>
<body>

<?php
require("wrongFile.html");
echo "Hai Everyone!";
?>

</body>
</html>

Error message:

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

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

The echo statement is 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 after an error.


« Previous Chapter Next Chapter »

Have Any Suggestion? We Are Waiting To Hear from YOU!

Your Query was successfully sent!