Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск строки в файле и добавление счетчика
Форумы портала PHP.SU » » Вопросы новичков » Поиск строки в файле и добавление счетчика

Страниц (1): [1]
 

1. Nyam - 27 Сентября, 2014 - 12:50:32 - перейти к сообщению
Здравствуйте!

Прошу помочь с реализацией данного скрипта после 6 строки

Скрипт:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     // сейчас в файле находится "искомое слово(0)"
  4.     $key = "искомое слово";
  5.     $file = file_get_contents("file.txt");
  6.     $num = strpos($file, $key);
  7.         if ($num !== false){
  8.             echo "Искомая строка найдена, нужно к ней в конце добавить в () к 0+1, при выполнении скрипта ещё раз нужно добавить ещё единичку и чтобы уже была написано 2 в ()";  
  9.         }
  10.  
  11.         else {
  12.             echo "Искомая строка отсутствует, добавляем через ентер новую строку в скобочках записываем 0";
  13.             $fp = fopen("file.txt", "a");
  14.             $mytext = $key . "(0)\r\n";
  15.             $test = fwrite($fp, $mytext);
  16.             if ($test) echo 'Данные в файл успешно занесены.';
  17.             else echo 'Ошибка при записи в файл.';
  18.             fclose($fp);
  19.         }
  20. ?>
  21.  


Немного описания:
Нужно сделать скриптик который бы искал данную строку в файле и если находил добавлял к ней счетчик с количеством поисков данной строки(каждый поиск данной строки +1 к счетчику), если данной строки нету в файле то через ентер записывал её в файл с значением счетчика ноль или один.

Прошу помочь в реализации.

Заранее всем большое спасибо.
2. dcc0 - 27 Сентября, 2014 - 19:22:02 - перейти к сообщению
Только такая мысль пришла:

CODE (htmlphp):
скопировать код в буфер обмена
  1. Открывать файл с fopen для чтения - Файл 1
  2. Открыть другой файл для записи - Файл 2
  3.  Читать построчно в цикле Файл 1
  4.    Искать строку
  5.   Проверять, есть ли в строке число
  6.  Если нет, записывать эту строку в Файл 2 вместе с  единицей
  7. Если строка найдена и в ней есть число, тогда это число + 1,
  8. Записывать эту строку вместе с увеличенным числом.
  9. Если  строка не найдена, перезаписывать строки в Файл 2
  10. После завершения переименовать файлы.
  11.  

 

Powered by ExBB FM 1.0 RC1