I\'ve spent days researching the internet and I can\'t find the answer that I will understand and are able to implement.
I\'ve got the website in which I want to us
dirname(__FILE__) and __DIR__ both same and __DIR__ comes with PHP 5.3
These are used in order to indicate that the "path of the file where they called".
URL: http://localhost/test/a.php
DIR: --NIX
/var/www/test/a.php
--WIN
D:\lamp\www\test\a.php
// a.php's inside
<?php
echo __DIR__;
Gives you this on linux: /var/www/test
So, if you need a config parameter in all your project, just define it in your config.php and use it where you want both the file name that will be included.
./
config.php
index.php
header.php
footer.php
/lib
foo.php
/tmp
bar.php
./config.php
define('ROOT', __DIR__ .'/');
./index.php include_once(ROOT .'header.php'); ... include_once(ROOT .'footer.php');
i.e, using it in tmp dir
./tmp/bar.php include_once(ROOT .'lib/foo.php');
UPDATE
// config.php
So, we use this for index.php to include banner.php and banner.php is waiting in ./banners/banner.php;
// index.php and the very first line!
// some html stuff
// ...
// some more html stuff
// ...
So, you should include config.php first to where you need it.
I think, this is basic as far as needed...
UPDATE
So your problem is not PHP include system, but question, anyway... :)
If your image path is changing (so not fixed), you can do like this;
// config.php
define("ROOT", __DIR__ ."/");
define("HTTP", ($_SERVER["SERVER_NAME"] == "localhost")
? "http://localhost/your_work_folder/"
: "http://your_site_name.com/"
);
// banner.php