logfile — Как проверить, сколько раз слово появляется в текстовом файле в php?

Как вы можете проверить, сколько раз слово встречается в файле txt / log?

Например:

110.90.252.35 — [2007-05-01 10:10:55] «GET article / learn_PHP_basics HTTP / 1.0» 200 11178 «MSIE 7.0»

23.18.147.37 — [2007-05-01 10:54:33] «ПОЛУЧИТЬ about / contact.php HTTP / 1.0» 200 4326 «Mozilla / 4.0»

250.69.170.251 — [2007-05-01 11:38:11] «ПОЛУЧИТЬ статьи / not / a / page HTTP / 1.0» 404 0 «Mozilla / 4.0»

Три утверждения, взятые из файла журнала, я пытаюсь увидеть, сколько раз слово «статьи» появляется в этом файле. Я пытался использовать массив, а затем подсчитывал, сколько раз он появляется, но пока не получилось. Так есть ли другой способ.

Мой код:

enter code here

$mayFile = "C:\Users\Elsa\Desktop\TMA\may.log";
$myfile = fopen("may.log", "r");

$lines = count(file("may.log"));
echo "There are $lines lines";

while(!feof($myfile)) {
$getFile = fgets($myfile);
$parts = explode(" ",$getFile);
$frequency = array_count_values($parts);
print_r($parts);
$items = array_count_values($parts);
}fclose($myfile);
fclose($myfile1);
?>

0

Решение

Это можно сделать гораздо проще:

$filename = "C:\Users\Elsa\Desktop\TMA\may.log";
$searchFor = "articles";
$fileContent = file_get_contents($filename);
$count = substr_count($fileContent, $searchFor);
echo "'$filename' contains '$searchFor' $count times";
1

Другие решения

Для этого должна быть функция php:

http://php.net/manual/en/function.substr-count.php

1

По вопросам рекламы [email protected]