>I'm wondering if there's a way for PHP fo know the local path of
>REQUEST_URI. I've used a script to list directories, in order to replace
>the looks of the traditional Indexes look (apache). By setting
>DirectoryIndex to a fixed file (/list/lister.php) that file is now
>executed whenever there's no other indexfile in the folder. But how can I
>let it know which folder to work in? Let's say that it gets
>example.com/~simon/files/ as URL. All the local variables I've seen by
>using phpinfo() point to the location of the file, not the folder I'm
>requesting.

I just this weekend finished working through that exact problem for
http://onetwentyeight.com and http://video.teczno.com.

In general, this will only work for situations where your script
(lister.php) is in a directory directly above your URI. Your example is
troublesome, because there isn't a way to precisely determine what
filesystem directory /~simon/ maps to without parsing through your Apache
config file, which I trust you don't want to do.

If your DirectoryIndex lives someplace within the path of your
REQUEST_URI, you can use that to determine where to chdir() to.
Here's how I've been doing it:

        $ru = explode('/', trim($_SERVER['REQUEST_URI'], '/'));
        $sn = explode('/', trim($_SERVER['SCRIPT_NAME'], '/'));
        $diff = array_diff($ru, $sn);
        foreach($diff as $d => $dir) $diff[$d] = rawurldecode($dir);
        if($diff) chdir(join('/', $diff));

---------------------------------------------------------------------
michal migurski- contact info and pgp key:
sf/ca            http://mike.teczno.com/contact.html

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to