I'm having trouble understanding the ruleset regarding PHP relative include paths. If I run file A.PHP- and file A.PHP includes file B.PHP which includes file C.PHP, should the relative path to C.PHP be in relation to the location of B.PHP, or to the location of A.PHP? That is, does it matter which file the include is called from, or only what the current working directory is- and what determines the current working directory?
It's relative to the main script, in this case A.php. Remember that
include() just inserts code into the currently running script.
That is, does it matter which file the include is called from
If you want to make it matter, and do an include relative to B.php, use the
__FILE__ constant (or
__DIR__ since PHP 5.2 IIRC) which will always point to the literal current file that the line of code is located in.