kb0000
kb0000

Reputation: 444

PHP include file. Showing error file not found

I am using include function and it is giving errors. That is file not found. In the root directory I have - index.php and config.php

index.php includes config.php and has some other data.

config.php has database details and includes function/function.php

There is a folder user and it has a file calculate.php in calculate.php I have included AJAX functionality and a file is loaded in it on AJAX call. File is cal2.php and it is located in user folder. Now this, cal2.php has a include function for config.php like:

include "../config.php";

When this cal2.php is loaded from calculate.php

function/function.php file is not loaded. It shows file not found for function/function.php

So, file structure is:

How to proceed and not have function.php include error for cal2.php

Upvotes: 3

Views: 24817

Answers (3)

Shabbyrobe
Shabbyrobe

Reputation: 12628

You should change config.php to use an absolute path to functions.php. If you have PHP 5.3 or greater, do it like this:

include __DIR__.'/functions/functions.php';

If you are still using PHP 5.2 (or, god forbid, something earlier), you can do it this way:

$dir = dirname(__FILE__);
include $dir.'/functions/functions.php';

The __FILE__ magic constant always contains the value of the current PHP file name, so the dirname(__FILE__) call will give you the full filesystem path of the current script.

Upvotes: 7

Pradeep Singh
Pradeep Singh

Reputation: 3634

Use absolute path to include file:

$_SERVER['DOCUMENT_ROOT'].'/function/function.php'

Upvotes: 2

yozhik
yozhik

Reputation: 5064

All problems here

/user/cal2.php
/function/function.php

you need to include such a way:

include('../config.php');

BUT I had this problem to, and I propose you to include files in the header of each page. Config you must inckude in the header of each page.

Read this, think it helps:

problems with global variables

Upvotes: -1

Related Questions