Temat: Pobieranie parametrów nagłówka headers
Data: 2006-05-17 o godz. 23:03:51
Autor: As


Z pomocą poniższej funkcji możemy sprawdzić parametry danego pliku, ulokowanego na zdalnym serwerze. Funkcja pobiera wybrany przez nas fragment nagłówka headers i wyświetla jego wartość. Dzięki temu w łatwy sposób można pobrać takie informacje jak np. rozmiar danego pliku w bajtach, typ danego pliku, oraz czas ostatniej modyfikacji itp.

<?php

# Ekipa: http://www.Twoja-Strona.Net
# Autor: As

function URL_file($uri$opcja$timeout=20)
{

  
// $url = (string) url do zdalnego pliku.
  // $opcja = (string) parametr nagłówka headers.
  // $timeout = (int) czas łączenia z serwerem, domyślnie 20 sekund.

   
$uri = @parse_url($uri);
   
$uri['port'] = isset($uri['port']) ? $uri['port'] : 80;
   
$handle = @fsockopen($uri['host'], $uri['port']);
   @
socket_set_timeout($handle$timeout);
   if(!
$handle)
       return 
0;

   
fputs($handle,"GET $uri[path] HTTP/1.1\r\nHost: $uri[host]\r\n\r\n");
   
$result 0;
   while(!
feof($handle))
   {
       
$line fgets($handle,1024);
       if(!
trim($line))
           break;

       
$col strpos($line,':');
       if(
$col !== false)
       {
           
$header trim(substr($line,0,$col));
           
$value trim(substr($line,$col+1));
           if(
strtolower($header) == strtolower($opcja))
           {
               
$result $value;
               break;
           }
       }
   }
   
fclose($handle);
   return 
$result;
}

// Przykład, zastosowanie. 

$url 'http://www.google.pl/images/hp0.gif';

echo 
"Plik: ".$url."<br>";            
echo 
"Plik ma: (".URL_file($url'content-length').") bajtów.<br>";
echo 
"Typ pliku: (".URL_file($url'Content-Type').").<br>";
echo 
"Ostatnia modyfiakcja pliku: (".URL_file($url'Last-Modified').").";   

?>






Artykuł jest z Twoja-Strona.Net
http://twoja-strona.net/html

Adres tego artykułu to:
http://twoja-strona.net/html/Biblioteka_Art426.html