note 15941 deleted from function.realpath by aidan
| From: | aidan@php.net | Date: | Sun, 29 Aug 2004 21:52:17 +0000 |
| Subject: | note 15941 deleted from function.realpath by aidan | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-75623@lists.php.net to get a copy of this message | ||
Note Submitter:
----
little extension to handle a path like
".//aa/bb//////cc.gif" or an empty path "" for the realpath() function from
lawrence@shanghaiguide.com
function realPath($path) {
$path = ereg_replace('/+', '/', $path);
$patharray = explode('/', $path);
$path = '';
$count = count($patharray); //We have multiple count($patharray) so a minor bit faster.
for ($i=0; $i<$count; $i++) {
if ( $patharray[$i] == '.' || $patharray[$i]== '..' || ( (($i+1) <
$count) && ($patharray[$i+1]== '..')) ) {
//If the current pos is a . ignore, if pos+1 == .. ignore, lastly if current = .. ignore.
} else {
$path .= $patharray[$i].'/';
}
}
//Trim trailing slash
if (!empty($path)) $path = substr($path, 0, -1);
return $path;
}
thank you, greetings
bs-team