Alex Rivera | Logout

Absolute path & Relative Path

Asked 2008-10-08T08:21:48.017
10

What's the difference between absolute path & relative path when using any web server or Tomcat?

Edit
Report

1 Answer

3

Important to note that relative paths are also subjective.

ie:

<?php 
  #bar.php
  require('../foo.php'); 
?>
/dir/bar.php 
/foo.php         # prints a 
/dir/foo.php # prints b 
/dir/other/   # empty dir
$ pwd 
>  /
$ php dir/bar.php 
>  / + ../foo.php == /foo.php   
>  prints a 
$ cd dir 
$ php bar.php
>  /dir  + ../foo.php = /foo.php 
>  prints a
$ cd other
$ php ../bar.php 
> /dir/other + ../foo.php  = /dir/foo.php 
> prints b

This can create some rather confusing situations, especially if you have many files with releative references and multiple possible places that can act as an "entry point" that controls what the relative path is relative to.

In such situations, one should compute the absolute path manually based on a fixed known, ie:

<?php
    require( realpath(dirname(__FILE__) . '/../foo.php') )

or

<?php
   require( SOMECONSTANT . '/relative/path.php'  ); 

or

<?php
   require( $_SERVER['DOCUMENT_ROOT'] . '/relative/path.php' );
answered 2008-10-08T09:15:16.567

Your Answer