apache_lookup_uri

(PHP 4, PHP 5, PHP 7)

apache_lookup_uriWywołuje wewnętrzne żądanie dla określonego URI i zwraca całą informację o nim

Opis

apache_lookup_uri ( string $nazwa_pliku ) : object

Ta funkcja wywołuje wewnętrzne żądanie dla określonego URI. Funkcja zbiera wszystkie istotne informacje odnośnie podanego zasobu.

Funkcja ta jest dostępna tylko jeśli PHP jest zaistalowane jako moduł serwera Apache lub przez moduł NSAPI serwera w serwerach Netscape/iPlanet/SunONE.

Parametry

nazwa_pliku

Nazwa rządanego pliku (URI).

Zwracane wartości

Obiekt powiązany z informacjami URI. Własności tego obiektu to:

  • 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

Przykłady

Przykład #1 apache_lookup_uri() przykład

<?php 
$info 
apache_lookup_uri('index.php?var=value'); 
print_r($info); 
    
if (
file_exists($info->filename)) { 
  echo 
'plik istnieje!'

?>

Powyższy przykład wyświetli coś podobnego do:

 
stdClass Object 
( 
      [status] => 200 
      [the_request] => GET /katalog/plik.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] => /katalog/index.php?var=value 
      [uri] => /katalog/index.php 
      [filename] => /home/htdocs/katalog/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 3 notes

up
1
tester
16 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 :-(.
up
1
niels dot kootstra at gmail dot com
16 years ago
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]
up
0
redbeard at mdjohnson dot nospam dot us
21 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