Gå til innhold

Liste filer, hente linjer fra tekstfiler


Anbefalte innlegg

/*

   form fields:
       `log_dir`    = machine1, machine2 etc
       `log_month`    = 01, 02 etc
       `log_option`    = checked/unchecked
       `log_string1`    = custom search string 1
       `log_string2`    = custom search string 2

*/

// liste loggfiler
   $dir = '/home/user/public_html/logs/';
   if(!$_POST['log_submit']) {
       $log_dir    = 'machine1';
       $log_month    = date('m');
       $log_option    = false;
       $log_string1    = false;
       $log_string2    = false;
   } else {
       $log_dir    = $_POST['log_dir'];
       $log_month    = $_POST['log_month'];
       if($_POST['log_option']) {
           $log_option = 'error';
       } else {
           $log_option = false;
       }
       if(!empty($_POST['log_string1'])) {
           $log_string1 = $_POST['log_string1'];
       } else {
           $log_string1 = false;
       }
       if(!empty($_POST['log_string2'])) {
           $log_string2 = $_POST['log_string2'];
       } else {
           $log_string2 = false;
       }
   }    

   /*
       * søke gjennom alle filer i $dir.$log_dir som starter med 'log_'.$log_month
       * (loggene er separert til log_<month>0001.log, log_<month>0002.log osv)
       * if(!$log_string1 || !$_POST['log_submit'])
       *         { liste alle filer som starter med 'log_'.$log_month }
       * elseif($_POST['log_submit'] && $log_string1 != false)
       *         if(number_of_files != 0)
       *             { liste alle filer som matcher kriteriene ($log_option, $log_string1, $log_string2) som ikke er == false }
       *         else
       *             { echo 'No matching logs'; }
   */

 

// vis loggfiler
   $badwords = array('ord1', 'ord2', 'ord3');
   if($_GET['view'] === 'true' && isset($_GET['month']) && isset($_GET['string1'])) {
       /*
           * vise linjer som matcher følgende kriterier:
           * inkludere stringen $_GET['string1'] i søket
           * if($_GET['option'] == 1)
           *         { inkludere stringen $log_option i søket }
           * if(isset($_GET['string2']))
           *         { inkludere stringen $_GET['string2'] i søket }
           * ekskludere alle linjer som inneholder en av $badwords
           * FRA alle filer fra $dir.$log_dir som begynner med 'log_'.$log_month.'
           * if($matches != 0)
           *         { echo 'No matches.' }
       */
   } else {
       echo 'error - select a file.';
   }

Jeg tar i mot all hjelp. Selvfølgelig ville det vært best om noen skrev et eksempel for meg, men jeg trenger i hvert fall hjelp med å liste alle filer som begynner med log_<måned> - i tillegg til $badwords og hvilken funksjon jeg bør bruke for å kun vise visse kriterier.

Endret av MadOx
Lenke til kommentar
Videoannonse
Annonse

Kan vel være en idé å vise noen linjer fra en av disse loggfilene.

01.04.2010 - 10:23:45 "A/n\ders(USER:234545), 127.0.0.1" "lastet opp et nytt bilde"

01.04.2010 - 12:13:42 "'_'(USER:12498), 127.0.0.1" "slettet bilde #00054"

01.04.2010 - 21:43:01 "?[{()}]!(USER:8998), 127.0.0.1" "lastet opp et nytt bilde"

Endret av MadOx
Lenke til kommentar

Hmm,

 

etter litt fundering, kom jeg frem til at jeg egentlig bare trenger hjelp til å matche ord som en selv skriver inn. En skal da kunne søke etter "A/\nders", "USER:123" og andre strenger som trenger regex for å matches.

Endret av MadOx
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...