[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Дата изменения документа
apc
Народ помогите, хочу написать скипт который бы собирал некоторые сведенья о файле (.php && .html)а точнее меня интересует время последней модификации и размер файла...
Вот нашел скрипт но он выдает какую то бредовую дату...
Выручайте....
PHP
function get_raw_header($host,$doc)
 {
     
$httpheader '';
     
$fp fsockopen ($host80$errno$errstr30);
     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 написал(а):
Nikitian, Спасибо!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.