update page now

Voting

: min(four, eight)?
(Example: nine)

The Note You're Voting On

solarijj at gmail dot com
18 years ago
To get the modification date of some remote file, you can use the fine function by notepad at codewalker dot com (with improvements by dma05 at web dot de and madsen at lillesvin dot net).
But you can achieve the same result more easily now with stream_get_meta_data (PHP>4.3.0).
However a problem may arise if some redirection occurs. In such a case, the server HTTP response contains no Last-Modified header, but there is a Location header indicating where to find the file. The function below takes care of any redirections, even multiple redirections, so that you reach the real file of which you want the last modification date.
hih,
JJS.
<?php
// get remote file last modification date (returns unix timestamp)
function GetRemoteLastModified( $uri )
{
 // default
 $unixtime = 0;
 
 $fp = fopen( $uri, "r" );
 if( !$fp ) {return;}
 
 $MetaData = stream_get_meta_data( $fp );
 
 foreach( $MetaData['wrapper_data'] as $response )
 {
 // case: redirection
 if( substr( strtolower($response), 0, 10 ) == 'location: ' )
 {
 $newUri = substr( $response, 10 );
 fclose( $fp );
 return GetRemoteLastModified( $newUri );
 }
 // case: last-modified
 elseif( substr( strtolower($response), 0, 15 ) == 'last-modified: ' )
 {
 $unixtime = strtotime( substr($response, 15) );
 break;
 }
 }
 fclose( $fp );
 return $unixtime;
}
?>

<< Back to user notes page

AltStyle によって変換されたページ (->オリジナル) /