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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Скрипт для работы с txt файлом

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
gordnev
Отправлено: 26 Ноября, 2014 - 09:52:38
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Здравствуйте. Если не трудно, помогите пожалуйста.
Нужен такой скрипт:

Имеется txt файл с кучей текстовых строк допустим таких:

1. автомобильный журнал
2. купить слона
3. авто дешево
4. компот из ягод....

мне нужно чтобы скрипт делал выборку строк с нужным мне ключевым словом и сохранял эти строки в отдельный файл. Допустим слово "авто" - в файл записывается первая и третья строка.

Заранее всем спасибо.
 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Ноября, 2014 - 19:34:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




CODE (bash):
скопировать код в буфер обмена
  1. $ grep 'find text' -a /path/do/file.txt >> /path/do/output-file.txt
Насвистываю
Ах да, php:
PHP:
скопировать код в буфер обмена
  1. foreach (file('/path/do/file.txt') as $line) {
  2.     if (stristr($line, 'find text') !== false) {
  3.         file_put_contents('/path/do/output-file.txt', $line . PHP_EOL, FILE_APPEND);
  4.     }
  5. }
 
 Top
Gocer
Отправлено: 26 Ноября, 2014 - 19:39:17
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $msg =  '';
  4. if(isset($_POST['word'])){
  5.  
  6.     $load_dir = '';
  7.     $file = 'key.txt';
  8.     $word = $_POST['word'];
  9.     $file_cont = file($file);
  10.     $msg = 'Файл не создан';
  11.     $content = '';
  12.  
  13.     foreach($file_cont as $value){
  14.         if(strpos($value, $word) !== false) $content .= $value.PHP_EOL;
  15.     }
  16.  
  17.     if($content != '') {
  18.         if(file_put_contents($load_dir.time().'.txt', $content)) $msg = 'Файл создан';
  19.     }
  20. }
  21. ?>


CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. </head>
  6. <body>
  7.     <p><?php echo $msg; ?></p>
  8.  
  9.     <form action="" method="post">
  10.         <input type="text" name="word">
  11.         <input type="submit" value="Отправить">
  12.     </form>
  13. </body>
  14. </html>
 
 Top
gordnev
Отправлено: 26 Ноября, 2014 - 21:00:30
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Большое всем спасибо

(Отредактировано автором: 26 Ноября, 2014 - 21:00:45)

 
 Top
biperch
Отправлено: 27 Ноября, 2014 - 14:59:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




DeepVarvar пишет:
CODE (bash):
скопировать код в буфер обмена
  1. $ grep 'find text' -a /path/do/file.txt >> /path/do/output-file.txt
Насвистываю
Ах да, php:


можно и на пхп выполнить grep)))))
 
 Top
DeepVarvar Супермодератор
Отправлено: 27 Ноября, 2014 - 15:41:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Если у него Like *NIX OS или установлено что-то из: GNUWin II, UnxUtils, UWIN, Gnuwin32, еще виндовый git тащит за собой что-то, и вроде там grep тоже есь, иначе не зроблить.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB