За последние 24 часа нас посетили 58687 программистов и 5373 робота. Сейчас ищут 2220 программистов ...

php скрипт для сбора информации из файлов .log

Тема в разделе "PHP для новичков", создана пользователем SON, 4 янв 2009.

  1. SON

    SON Активный пользователь

    С нами с:
    29 дек 2008
    Сообщения:
    3
    Симпатии:
    0
    Есть готовый скрипт который берет информацию из одного выброного файла,ищет по заданному параметру в нем этот параметр и выводит результат..
    Мне же нужно что бы скрипт обрабатывал все log файлы в каталоге и выстраивал данные в нужном порядке
    Код (Text):
    1.  
    2. ----------------
    3. результат1 | результат2 | результат3 | результат4 | результат5 |          Кнопка [ действие ] На [поле ввода] причина[поле ввода 2]
    4. ----------------
    5. результат1 | результат2 | результат3 | результат4 | результат5 |          Кнопка [ действие ] На [поле ввода] причина[поле ввода 2]
    6. ----------------
    Другими словами мне надо обработать все log файлы в папке и из них все выбрать нужные строки,сверить их и вывести на экран,подскажите куда капать ?

    Вот кусок из скрипта
    PHP:
    1. <?
    2. $opt_html="";
    3. $time=time();
    4. for ($i=0;$i<11;$i++) {
    5. $opt_html.="<option value=\"".date("Ymd",($time-86400*$i))."\">".date("d.m.Y",($time-86400*$i))."</option>\n";
    6. }
    7. ?>
    8. <form method="post" action="">
    9.   Искать по нику: <input type="text" name="nick" /> за: <select name="where">
    10.   <?=$opt_html;?>
    11.   </select>
    12.   <input type="submit" name="do_search" value="Искать" />
    13. </form>
    14. <?
    15.  
    16. if (isset($_POST['do_search'])) {
    17. print "<hr>";
    18. $log=trim($_POST['where']);
    19. $nick=trim($_POST['nick']);
    20. if ($nick !=="") {
    21. if (file_exists($myac_path."/logs/myac_".$log.".log")) {
    22. $data=get_hddsn($nick,"myac_".$log.".log");
    23. if (sizeof($data)>0) {
    24. print "Что найдено:<br>";
    25. foreach ($data as $key => $value) {
    26. print "$value - <a href=\"#$key\" onclick=\"cp_sn('$key');\"><b>$key</b></a> - $nick<br>";
    27. }
    28. ?>
     
  2. SON

    SON Активный пользователь

    С нами с:
    29 дек 2008
    Сообщения:
    3
    Симпатии:
    0
    Ребят ну помогите,надо считать все лог файлы из папки и вывести нужные значния из них,как это сделать?=(
     
  3. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    вот кусок интернетов

    не увидел конкретного вопроса.
    увидел только "сделайте мне".
    никто за вас ничего делать не будет (без соответствующего вознаграждения).
    преформулируйте вашу проблему, подкрепив при необходимости минимальным проблемным кодом
     
  4. SON

    SON Активный пользователь

    С нами с:
    29 дек 2008
    Сообщения:
    3
    Симпатии:
    0
    Не хватает навыка у меня и знаний,сделал так что бы искать нужные параметры из одного выбранного log файла,а мне как бы хотелось бы прочесть все лог файлы в папке вывести по заданному параметру все результаты..

    PHP:
    1. $m_path="C:\papka";
    2. function get_hddsn($nick,$log_fname) { // функция возвращаяет массив номеров с ника $nick
    3. global $m_path;
    4. $ip=array();
    5. $sn=array();
    6. $tmp=file("$m_path/logs/$log_fname");
    7. for ($i=0; $i<sizeof($tmp);$i++) {
    8. if (strpos($tmp[$i],"\"".$nick."\"")) {
    9. preg_match("#\[(.*)\]#",$tmp[$i],$q);
    10. $ip[]=$q[1];
    11. }}
    12. $ip=array_unique ($ip);
    13. for ($i=0; $i<sizeof($tmp);$i++) {
    14. for ($w=0;$w<sizeof($ip);$w++) {
    15. if (strpos($tmp[$i],$ip[$w]) && strpos($tmp[$i],"HDDSN")) {
    16. preg_match("#\"(.*)\"#",$tmp[$i],$q);
    17. $sn[$q[1]]=$ip[$w];
    18. }}}
    19. //print_r($sn); //debug
    20. return $sn;
    21. }