apache_lookup_uri

(PHP 4, PHP 5)

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

Opis

object apache_lookup_uri ( string $nazwa_pliku )

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.

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
0
tester
6 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
0
niels dot kootstra at gmail dot com
6 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
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