Используя php, я пытаюсь создать скрипт, который будет искать в текстовом файле, захватывать всю строку и повторять ее.
У меня есть текстовый файл (.txt) под названием «numorder.txt», и в этом текстовом файле есть несколько строк данных, причем новые строки появляются каждые 5 минут (с использованием задания cron). Данные выглядят примерно так:
2 aullah1
7 name
12 username
Как мне создать php-скрипт, который будет искать данные «aullah1», а затем захватывать всю строку и повторять ее? (После повторения должно отображаться «2 aullah1» (без кавычек).
Если я что-то непонятно объяснил и/или вы хотите, чтобы я объяснил более подробно, прокомментируйте.
Решение проблемы
Использование file()и strpos():
<?php
// What to look for
$search = 'foo';
// Read from file
$lines = file('file.txt');
foreach($lines as $line)
{
// Check if the line contains the string we're looking for, and print if it does
if(strpos($line, $search)!== false)
echo $line;
}
При проверке этого файла:
фуза
барза
абча
Он выводит:
фуза
Обновление:
чтобы отобразить текст, если текст не найден, используйте что-то вроде этого:
<?php
$search = 'foo';
$lines = file('file.txt');
// Store true when the text is found
$found = false;
foreach($lines as $line)
{
if(strpos($line, $search)!== false)
{
$found = true;
echo $line;
}
}
// If the text was not found, show a message
if(!$found)
{
echo 'No match found';
}
Здесь я использую $foundпеременную, чтобы узнать, было ли найдено совпадение.
Комментариев нет:
Отправить комментарий