|
Posted by ImOk on 07/12/06 15:45
I am totally confused by this thread. What in the world are you trying
to do?
In my experience of development when the code starts getting weird,
then the original premise must be re-evaluated. Maybe you can write the
logic in pseudocode and post it here.
André Hänsel wrote:
> Mel schrieb:
> > On 2006-07-10 03:49:12 +1000, "André Hänsel" <andre@webkr.de> said:
> >
> > > ImOk schrieb:
> > >> is_dir ("./mysubdir/mysubsubdir" )
> > >
> > > That only determines if ./mysubdir/mysubsubdir is a directory. It makes
> > > no statement about whether it is a subdirectory of another directory.
> > >
> > > is_dir('../../nosubdir) will return true (if the dir exits, of course),
> > > although it is no subdir of the working dir.
> >
> > Wouldn't you just try to open it as a directory from the context of the
> > parent and if it opens, then it's a subdir?
>
> If there were no ".."s in the world, that would work.
> I would have to get some kind of temporary chroot, but that would
> probably also dereference the symlinks.
>
> But another idea:
> There connot be an escaped slash in a path, can it?
> What does a path like "dir\/subdir" mean?
> a) a subdirectory of the current path named "dir/subdir"
> b) a directory named "dir\" with a subdirectory named "subdir"
> I think, it's answer b.
>
> If that is true, it will be safe to just explode the path by "/",
> traverse it and convert every "." to nothing and every ".." to "go one
> step up" (if I am not already in /).
>
> Right?
Navigation:
[Reply to this message]
|