Народ помогите, хочу написать скипт который бы собирал некоторые сведенья о файле (.php && .html)а точнее меня интересует время последней модификации и размер файла...
Вот нашел скрипт но он выдает какую то бредовую дату...
Выручайте....
PHP |
function get_raw_header($host,$doc) { $httpheader = ''; $fp = fsockopen ($host, 80, $errno, $errstr, 30); if (!$fp) { echo $errstr.' ('.$errno.')'; }else{ fputs($fp, 'GET '.$doc.' HTTP/1.0'."\r\n".'Host: '.$host."\r\n\r\n"); while(!feof($fp)) { $httpresult = fgets ($fp,1024); $httpheader = $httpheader.$httpresult; if (ereg("^\r\n",$httpresult)) break; } fclose ($fp); } return $httpheader; } function get_header_array($url) { $url = ereg_replace('http://','',$url); $endHostPos = strpos($url,'/'); if(!$endHostPos) $endHostPos = strlen($url); $host = substr($url,0,$endHostPos); $doc = substr($url,$endHostPos,strlen($url)-$endHostPos); if($doc == '') $doc = '/'; $raw = get_raw_header($host,$doc); $tmpArray = explode("\n",$raw); for ($i=0;$i<sizeof($tmpArray); $i++) { @list($name, $value) = explode(':', $tmpArray[$i], 2); $array[trim($name)]=trim($value); } return $array; } // use like this to find out when a file on a server was last modified // should be a static file like a .zip archive for example
$url[1] = "http://www.имя_домена.ru/index.php"; $url[2] = "http://www.имя_домена.ru/index.php"; $url[3] = "http://www.имя_домена.ru/index.php"; $url[4] = "http://www.имя_домена.ru/index.php"; $i=1;
while ($url[$i]<>''){
$file = file($url[$i]); // считываем удаленный файл $file = implode("",$file);
$array = get_header_array($url[$i]);
preg_match("/<title>(.+)<\/title>/i",$file,$m); print "<strong>$url[$i]</strong><br>Заголовок: <b>$m[1]</b><br>"; print "Размер документа: ".strlen($file)." байт<br>"; print "Крайнее изменение:".date('j F Y g:i',strtotime($array['Last-Modified']))."<br><br>"; $i++; } |
PS: это скрипт мне нужен для слежения за моими сайтами (вдруг ктото изменит файл а я буду думать что за х...
спс
Спустя 41 минута, 23 секунды (9.02.2009 - 15:14) Sylex написал(а):
это отслеживает по заголовку Last-Modified, а тебе нужна функция
http://ru.php.net/filemtime Спустя 48 минут, 12 секунд (9.02.2009 - 16:02) jetistyum написал(а):
а еще тебе нужно проверять чексум каждого файла, ну вдруг кто-то проник на твой хостинг, поменял файлы и поменял дату доступа к файлам... ты это дело так не оставляй...
Спустя 54 минуты, 44 секунды (9.02.2009 - 16:57) apc написал(а):
Спустя 8 минут, 46 секунд (9.02.2009 - 17:06) apc написал(а):
Кому интерестно:
PHP |
$q = filemtime ('123.txt'); $w = date('H:i:s', $q); echo $w; |
Спустя 5 месяцев, 12 дней, 17 часов, 31 минута, 54 секунды (22.07.2009 - 09:38) Guest написал(а):
Спустя 21 секунда (22.07.2009 - 09:38) Guest написал(а):
Спустя 24 дня, 9 часов, 32 минуты, 11 секунд (16.08.2009 - 19:10) SeTT.MF написал(а):
Цитата (apc @ 9.02.2009 - 14:06) |
Кому интерестно:
PHP | $q = filemtime ('123.txt'); $w = date('H:i:s', $q); echo $w; |
|
А если помимо времени добавить дату, "d.m.y H:i:s", как сделать, чтобы название месяца писал прописью и на русском?
Спустя 1 час, 15 минут, 47 секунд (16.08.2009 - 20:26) Nikitian написал(а):
PHP |
$months=array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'); echo date('H:i:s d ').$months[date('m')-1].date(' Y'); |
Спустя 2 дня, 18 часов, 35 минут, 53 секунды (19.08.2009 - 15:02) SeTT.MF написал(а):