Как вы можете проверить, сколько раз слово происходит в файле txt/log?
Например:
110.90.252.35 - [2007-05-01 10:10:55] "GET articles/learn_PHP_basics HTTP/1.0" 200 11178 "MSIE 7.0"
23.18.147.37 - [2007-05-01 10:54:33] "GET about/contact.php HTTP/1.0" 200 4326 "Mozilla/4.0"
250.69.170.251 - [2007-05-01 11:38:11] "GET articles/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);
?>
Это можно сделать гораздо проще:
$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";
Для этого должна быть функция php: