(PHP 4, PHP 5)

apache_lookup_uri Effectue une requête partielle pour l'URI spécifiée et renvoie toutes les informations la concernant


object apache_lookup_uri ( string $filename )

Cette fonction effectue une requête partielle pour l'URI spécifiée. Cette requête permet juste de récupérer toutes les informations importantes à propos de la ressource concernée.

Cette fonction n'est supportée que si PHP est installé en tant que module d'Apache.

Liste de paramètres


Le nom du fichier (URI) qui sera demandé.

Valeurs de retour

Un objet des informations relatives à l'URI. Les propriétés de l'objet sont les suivantes :

  • 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


Exemple #1 Exemple avec apache_lookup_uri()


if (
file_exists($info->filename)) {
'le fichier existe !';

L'exemple ci-dessus va afficher quelque chose de similaire à :

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
le fichier existe !

add a note add a note

User Contributed Notes 3 notes

7 years ago
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 :-(.
niels dot kootstra at gmail dot com
7 years ago
It's a very usefull function but it doesn't show all outputs. For example I only see:
redbeard at mdjohnson dot nospam dot us
11 years ago
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.
To Top