SunshinePHP 2020 CFP Started


(PHP 4, PHP 5, PHP 7)

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


apache_lookup_uri ( string $filename ) : object

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 est supportée lorsque PHP est installé comme module d'Apache, ou par le module serveur NSAPI des serveurs Web Netscape/iPlanet/SunONE.

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

niels dot kootstra at gmail dot com
11 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
16 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 will resolve to /base/blah.php or /base/blah.html or even /base/blah.en.html as appropriate.
11 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 :-(.
To Top