too long

PHP-programmers!

I've got a problem with the Include-function in PHP.

I have a website which contains a left column-bar, and that column contains dynamic content which I get with the Include-function with a relative path, because absolute paths isn't available in the Include-function.

When I navigate to other files in other folders I get the error: include(folder/fileToBeIncluded.php) [function.include]: failed to open stream: No such file or directory in /home/mywebsite/public_html/thissite/folder/subfolder/leftcolumn.php on line 3

How am I going to deal with that? I am totally lost, and I've been searching for Google and StackOverflow for about 10 minutes now.

Thank you!

Absolute paths are can be used with the include statement.

Try:

include $_SERVER['DOCUMENT_ROOT'] . '/folder/fileToBeIncluded.php';
// or
include dirname(__FILE__) . '/../fileToBeIncluded.php'; // relative to the path of the file doing the include

At the very least, you can hardcode the path to be absolutely sure (until you move your site elsewhere):

include '/home/yoursite/public_html/folder/fileToInclude.php';

Please see include documentation.

May I suggest creating a dedicated "includes" folder? Something like:

/home/mywebsite/includes

in php.ini, you'd need to add:

include_path = "/home/mywebsite/includes/"

That way, all calls to include check from /home/mywebsite/includes for the file you need before looking for it relative to the location of the current page being process.