login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoek in een logfile op trefwoorden uit een textbestand

Offline hnm - 20/12/2009 20:04
Avatar van hnmNieuw lid Moeilijk om een titel te verzinnen voor dit "probleem".

Situatie:
Bestand 1.txt = een logbestand
Bestand 2.txt = een bestand met trefwoorden (op elke lijn 1 trefwoord)

Wat de bedoeling is, is dat een phpscript het logbestand doorzoekt op de trefwoorden uit bestand 2.txt. Uiteindelijk wil ik dat het script een match van de trefwoorden + een extra regel erna selecteerd en uitpoept aan het einde (fopen($name, 'a');) van een textbestandje.

Dit is wat ik tot nu toe heb:

  1. <?php
  2.  
  3. $File = "1.txt";
  4. $fh = fopen($File, 'r');
  5. $log = fread($fh, filesize($File));
  6. fclose($fh);
  7.  
  8. $File = "2.txt";
  9. $fh = fopen($File, 'r');
  10. $words = fread($fh, filesize($File));
  11. fclose($fh);
  12.  
  13.  
  14. if(stristr("$log", "$words") === FALSE) {
  15. echo "string not found" ;
  16. }
  17.  
  18. ?>

Probleem is: het werkt niet en ik kom er niet uit. Ik krijg geen foutmeldingen, alleen: "string not found". Terwijl 1 van de trefwoorden wel degelijk in de log voorkomt!

Bedankt voor de hulp alvast!

Mvg,

3 antwoorden

Gesponsorde links
Offline NTS64 - 20/12/2009 20:11 (laatste wijziging 20/12/2009 20:13)
Avatar van NTS64 PHP gevorderde Met PHP.net: fread kan je onmogelijk achterhalen waar een nieuwe lijn in je bestand begint en/of eindigt.
Gebruik PHP.net: file hiervoor, dit maakt een numerieke array aan, elke key bevat dan één lijn van je bestand.
Daarbij moet je je variabelen ook buiten quotes houden...
Offline Richard - 20/12/2009 20:29
Avatar van Richard Crew algemeen Kijk eens naar je topic op phpfreakz.nl
Offline hnm - 20/12/2009 20:45 (laatste wijziging 20/12/2009 20:45)
Avatar van hnm Nieuw lid Beste NTS64,

Naar aanleiding van jouw aanwijzing heb ik het volgende:
  1. <?php
  2.  
  3. $File = "1.txt";
  4. $log = file($File);
  5.  
  6. $File = "2.txt";
  7. $words = file($File);
  8.  
  9.  
  10. if(stristr("$log", "$words") === FALSE) {
  11. echo "string not found" ;
  12. }
  13.  
  14. ?>


Hij geeft als output: NIKS
Maar wanneer ik FALSE naar TRUE verander geeft ie ook niks aan output, dus dit werkt ook niet zoals ik het graag zou willen...

Ps @Richard, dat werkte ook niet goed jammer genoeg Reactie @ PhpFreakz ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s