PHP Include

Can be used multiple times:

<?php include("navigation.php"); ?>

Once only:

<?php include_once("navigation.php"); ?>

Including from the root:

   $path = $_SERVER['DOCUMENT_ROOT'];
   $path .= "/common/header.php";


  1. User Avatar
    Permalink to comment#

    Just a point to make, the include, incude_once and require equivalents are not functions and therefore do not need the parenthesis around the pathname.
    I am unsure of the origin of this bad habit.

    • User Avatar
      Armando Duran
      Permalink to comment#

      I was just wondering about this, as I have always seen it with parenthesis but today I saw a code snippet somewhere that didn’t have them so I am glad I have this clear now.


  2. User Avatar
    Permalink to comment#

    well David, it’s obviously an alternative to use parenthesis and completely optional, it doesn’t make it any more correct or incorrect. Someone might have the same argument about spaces before and after brackets and colons in CSS.

    • User Avatar
      Permalink to comment#

      I know it is optional but I bet that newcomers believe that require and include are functions because of the parenthesis. It does add confusion in my opinion.
      If you have a look at the official documentation you can see the official examples do not use parenthesis and it also cautions you on the use of parenthesis in certain situations.

  3. User Avatar
    Fraz Ahmed
    Permalink to comment#

    Although it does not create any difference whether using parenthesis or not. But really it can make difference in some situation. Visit David provided link again and give attention to example #5:

    I also have written an article, describing the difference between include and include_once, require etc.

  4. User Avatar

    I can’t seem to get this snippet to work in my WAMP install. Would like to get this to work so that I can call my includes from other directories.

    Warning: include_once(C:/wamp/www//common/header.php) [function.include-once]: failed to open stream: No such file or directory in C:\wamp\www\yourhearing\index.php on line 4

    If I remove the line include_once($path);, it works for the main index.php, but this will not work in any other directory.

    Any help is appreciated, THANKS.


    • User Avatar

      Never mind, I had a typo.

      I am still having an issue with pulling in my css and js for my other pages. I want to type and pull in my css and js by include with head.php but when it includes the head it only displays the content and not the styling or js. Any ideas?

    • User Avatar
      Permalink to comment#

      I’m having the same issue as Digitalvaldosta. Content shows up, but not JS or CSS.

  5. User Avatar
    Akif Shamim
    Permalink to comment#

    hey i love your theme man

  6. User Avatar
    Permalink to comment#

    Using include without using parenthesis, my css wasn’t showing up, when I added parenthesis everything worked perfectly!

  7. User Avatar
    Permalink to comment#

    Very interesting and refreshing article.
    I have used incude in the past, but now I want to use it in a responsive designand it doesn’t work at all.

    My include line is:

    My footer.php is located in the same folder:

    The page shows no footer a all.

Leave a Comment

Posting Code!

You may write comments in Markdown. This makes code easy to post, as you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences (```) with double new lines before and after.

Code of Conduct

Absolutely anyone is welcome to submit a comment here. But not all comments will be posted. Think of it like writing a letter to the editor. All submitted comments will be read, but not all published. Published comments will be on-topic, helpful, and further the discussion or debate.

Want to tell us something privately?

Feel free to use our contact form. That's a great place to let us know about typos or anything off-topic.