--->Path translated =
"F:\www\fake\demo\getpath\getpath.php3" Omitting the "relative" flag path parts are returned as absolute$part = getpath(); // returns "F:\\www\\fake\\demo\\getpath\\"$part = getpath(0); // returns "F:\\" $part = getpath(1); // returns "F:\\www\\" $part = getpath(2); // returns "F:\\www\\fake\\" $part = getpath(-1); // returns "F:\\www\\fake\\demo\\getpath\\" $part = getpath(-2); // returns "F:\\www\\fake\\demo\\" $part = getpath(-3); // returns "F:\\www\\fake\\" Activating the "relative" flag path parts are returned as relative$part = getpath(1,1); // returns "www\\"$part = getpath(2,1); // returns "fake\\" $part = getpath(3,1); // returns "demo\\" $part = getpath(-1,1); // returns "getpath\\" $part = getpath(-2,1); // returns "demo\\" $part = getpath(-3,1); // returns "fake\\" |
function getpath($which = 1000, $relative = "") {
// getpath function by Nicola Delbono key5@key5.com
global $PATH_TRANSLATED;
$sep = "\\\\";
$pt = "$PATH_TRANSLATED";
$arrpath = explode("\\", $pt);
$pathct = count($arrpath);
// $which
if ($which >= $pathct ) {
$which = $pathct - 2;
}
elseif ($which < 0)
{
$which = $pathct - 1 + $which ;
}
elseif ($which == 1000)
{
$which = $pathct - 2;
}
// $relative
if($relative == 1)
{
$path = $arrpath[$which] . $sep;
}
elseif ($relative == 0){
for ($r = 0 ;$r <= $which ; ++$r) {
$path .= $arrpath[$r] . $sep;
}
}
return $path;
}