bug: with apache 2, apache_lookup_uri("/directory") spits out a warning and fails to return anything. apache_lookup_uri("/directory/") works.
another bug: virtual("something") forces a header flush. I know it's documented, but it would be rather wonderful if it didn't do this. You never ever want to flush headers when you're using virtual() to include a dynamic file such as a PHP or Perl file, which excludes virtual() from being used on most of any website's contents :-(.
apache_lookup_uri
(PHP 4, PHP 5)
apache_lookup_uri — Führt eine Teilanfrage für einen angegebenen URI durch und liefert alle Informationen darüber zurück
Beschreibung
object apache_lookup_uri
( string $filename
)
Die Funktion führt eine Teilanfragefür einen URI durch. Diese geht gerade weit genug, um alle wichtigen Informationen über die angegebene Ressource zu erhalten.
Diese Funktion wird nur unterstützt, wenn PHP als Apache-Modul installiert wurde.
Parameter-Liste
- filename
-
Der Dateiname (URI), der angefragt wird.
Rückgabewerte
Ein Objekt, das die URI-relevanten Informationen enthält. Die Eigenschaften dieses Objekts sind:
- status
- the_request
- status_line
- method
- content_type
- handler
- uri
- filename
- path_info
- args
- boundary
- no_cache
- no_local_copy
- allowed
- send_bodyct
- bytes_sent
- byterange
- clength
- unparsed_uri
- mtime
- request_time
Beispiele
Beispiel #1 apache_lookup_uri()-Beispiel
<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);
if (file_exists($info->filename)) {
echo 'file exists!';
}
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
stdClass Object
(
[status] => 200
[the_request] => GET /dir/file.php HTTP/1.1
[method] => GET
[mtime] => 0
[clength] => 0
[chunked] => 0
[content_type] => application/x-httpd-php
[no_cache] => 0
[no_local_copy] => 1
[unparsed_uri] => /dir/index.php?var=value
[uri] => /dir/index.php
[filename] => /home/htdocs/dir/index.php
[args] => var=value
[allowed] => 0
[sent_bodyct] => 0
[bytes_sent] => 0
[request_time] => 1074282764
)
file exists!
apache_lookup_uri
tester
12-Feb-2008 01:01
12-Feb-2008 01:01
niels dot kootstra at gmail dot com
08-Feb-2008 12:04
08-Feb-2008 12:04
It's a very usefull function but it doesn't show all outputs. For example I only see:
[status]
[the_request]
[method]
[mtime]
[clength]
[chunked]
[content_type]
[no_cache]
[no_local_copy]
[unparsed_uri]
[uri]
[filename]
[path_info]
[allowed]
[sent_bodyct]
[bytes_sent]
[request_time]
redbeard at mdjohnson dot nospam dot us
18-Apr-2003 12:15
18-Apr-2003 12:15
A useful feature is that if you have content negotiation on (Options MultiViews) Apache will resolve the negotiation for you if possible. Thus www.example.com/blah will resolve to /base/blah.php or /base/blah.html or even /base/blah.en.html as appropriate.
