From:             [EMAIL PROTECTED]
Operating system: RedHat Linux 7.0 
PHP version:      4.0.1pl2
PHP Bug Type:     Scripting Engine problem
Bug description:  Relative paths in require(), require_once(), include(), 
include_once()

Here is an example of how relative paths are currently resolved with cascading 
inclusions (command line is 'php /home/joe/a.php'):

File '/home/joe/a.php':
<?php
    # this include works as expected, 
    # locating '/home/joe/include/b.inc'
    include_once( 'include/b.inc' );
?>

File '/home/joe/include/b.inc':
<?php
    # this include will assume '/home/joe/c.inc', but
    # not '/home/joe/include/c.inc', as one may expect =(
    include_once( 'c.inc' );
?>

File '/home/joe/include/c.inc':
<?php
    echo 'hello';
?>

The way all four functions [require(), require_once(), include(), include_once()] 
resolve relative paths is counter-intuitive and unproductive with large directory 
structures, because some trickery is required to fix this problem. Not to mention that 
it hurts to see a different behavior from C-preprocessor #include directives.

If you don't believe me, then see comments to the include() function...


-- 
Edit Bug report at: http://bugs.php.net/?id=9673&edit=1



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to