Re: Comparison function for directories?
- From: Toby A Inkster <usenet200801@xxxxxxxxxxxxxxxxx>
- Date: Fri, 29 Feb 2008 16:18:53 +0000
Álvaro G. Vicario wrote:
Rik Wasmus escribió/wrote:
$is_the_same_dir = realpath($dir1) == realpath($dir2);
- In Unix, the file system is case sensible. So (depending on what you
need this for) you may use === instead.
The '==' operator is sufficient, as it is case-sensitive. The '===' will
also work, but is not required.
- realpath() returns FALSE when the path does not exist; take it into
account.
This may indeed cause problems, depending on exactly what the OP is hoping
to compare -- the directory paths of real, existing directories, or
strings representing directories which may or may not exist.
A possibility would be to replace realpath above with normalise_dirname:
function normalise_dirname ($dir)
{
if (realpath($dir))
return realpath($dir);
if (preg_match('#/$#', $dir))
return $dir;
return "$dir/";
}
If you needed to, you could further enhance it to deal with path
components like '.' and '..'.
--
Toby A Inkster BSc (Hons) ARCS
[Geek of HTML/SQL/Perl/PHP/Python/Apache/Linux]
[OS: Linux 2.6.17.14-mm-desktop-9mdvsmp, up 30 days, 22:28.]
Bottled Water
http://tobyinkster.co.uk/blog/2008/02/18/bottled-water/
.
- References:
- Comparison function for directories?
- From: laredotornado@xxxxxxxxxxx
- Re: Comparison function for directories?
- From: Rik Wasmus
- Re: Comparison function for directories?
- From: Álvaro G. Vicario
- Comparison function for directories?
- Prev by Date: Re: Using macports to update php?
- Next by Date: ZipArchive() (adding a directory)
- Previous by thread: Re: Comparison function for directories?
- Next by thread: template sctipt execution time
- Index(es):
Relevant Pages
|