PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

apache_note> <apache_getenv
Last updated: Fri, 01 Jun 2007

view this page in

apache_lookup_uri

(PHP 4, PHP 5)

apache_lookup_uri — Perform a partial request for the specified URI and return all info about it

Description

object apache_lookup_uri ( string $filename )

This performs a partial request for a URI. It goes just far enough to obtain all the important information about the given resource.

This function is only supported when PHP is installed as an Apache module.

Parameters

filename

The filename (URI) that's being requested.

Return Values

An object of related URI information. The properties of this object are:

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

Examples

Example 199. apache_lookup_uri() example

<?php
$info
= apache_lookup_uri('index.php?var=value');
print_r($info);

if (
file_exists($info->filename)) {
    echo
'file exists!';
}
?>

The above example will output something similar to:


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!

    



add a note add a note User Contributed Notes
apache_lookup_uri
trejkaz
05-Aug-2005 01:09
Apparently on PHP 4.2, this function returns an array instead of an object.

That being the case, the example code above would translate to:

<?php
$info
= apache_lookup_uri('index.php?var=value');
print_r($info);

if (
file_exists($info['filename'])) {
   echo
'file exists!';
}
?>

A means of making this transparent so that the object syntax works, is left as an exercise for the reader. ;-)
redbeard at mdjohnson dot nospam dot us
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.

apache_note> <apache_getenv
Last updated: Fri, 01 Jun 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites