I use some constants to define paths to specific directories on a website that I'm building, like this:
define("ROOT_PATH", "http://website.com/");
define("IMAGES_DIR", ROOT_PATH . "images/");
and I usually use them like this:
echo "<img src='" . IMAGES_DIR . "some_image.jpg' />";
now I want to know if there is any difference between
define("ROOT_PATH", "http://website.com/");
and
define("ROOT_PATH", "/home/username/public_html/");
and which one of them should I use? And why?
You can't really use the following:
define("ROOT_PATH", "/home/username/public_html/");
since it will try to load
http://website.com/home/username/public_html/image.png
which you don't really want.
Using
define("ROOT_PATH", "http://website.com/");
will try to fetch
http://website.com/image.png
which is what you want.
the difference is that html won't recognize full paths on images or src attributes... but you can use this
define ('ROOT', dirname(dirname(__FILE__)));
define ('ROOT_PATH', "http://website.com/");
define ('INCLUDES',ROOT .'path/to/php/includes/'); //for php includes
Or you can use a php function to convert "ROOT_PATH" based on the getenv("SCRIPT_NAME")
You should use
define("ROOT_PATH", "http://website.com/");
If you use:
define("ROOT_PATH", "http://website.com/");
In client side,The image src:
http://website.com/some_image.jpg
If you use:( Just for local file system )
define("ROOT_PATH", "/home/username/public_html/");
The image src:
http://website.com/home/username/public_html/some_image.jpg