[PHP] Прочитать файл построчно - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB89.7026
BTC/USD69647.8731
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 01.08.2020, 06:59   #1
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 628
Бабло: $257430
Question [PHP] Прочитать файл построчно

Всё что нарыл на просторах не работает должным образом.
Как реализовать чтение txt файла построчно?

Даю файл txt

Код:
bla bla
qwerty
go go go
Нужен скрипт на пыхе который будет выводить при каждом обращении новую строку, пока файл не закончится.
Soba вне форума  
Старый 01.08.2020, 07:54   #2
danger dave
Ебланнед
 
Регистрация: 11.07.2020
Сообщений: 22
Бабло: $3830
По умолчанию

С 2014 года решил наконец таки начать работать?
Неплохо, за 6 лет.
Это приват скрипт, на просторах инета не найти рабочей версии.
danger dave вне форума  
Старый 01.08.2020, 09:29   #3
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 628
Бабло: $257430
ТС -->
автор темы ТС По умолчанию

В каких приватах его купить можно?
Soba вне форума  
Старый 01.08.2020, 09:47   #4
gumu
Senior Member
 
Регистрация: 29.01.2015
Сообщений: 487
Бабло: $66495
По умолчанию

del

Последний раз редактировалось gumu; 01.08.2020 в 09:55.
gumu вне форума  
Старый 01.08.2020, 09:48   #5
M_S
Monster
 
Аватар для M_S
 
Регистрация: 29.12.2007
Адрес: online
Сообщений: 395
Бабло: $69558
По умолчанию

Пускаешь скрипт, читает из файла первую строку, стирает из файла эту строку и перезаписывает файл. Останавливается.
Так нужно?

PHP код:
<?php
$fn 
"2.txt";

$file=file($fn);
$str trim($file[0]);
unset(
$file[0]);
file_put_contents($fnimplode("",$file));

echo 
$str;
?>
__________________

Последний раз редактировалось M_S; 01.08.2020 в 09:55.
M_S вне форума  
Старый 01.08.2020, 10:02   #6
itservice
Senior Member
 
Аватар для itservice
 
Регистрация: 30.11.2017
Сообщений: 176
Бабло: $28000
По умолчанию

PHP код:
function getLines($file) {
    
$f fopen($file'r');
    if (!
$f) throw new Exception();
    while (
$line fgets($f)) {
        
yield $line;
    }
    
fclose($f);
}


foreach (
getLines("someFile") as $line) {
    
doSomethingWithLine($line);

__________________
Настройка лент WPGrabber
Парсинг Яндекс.Услуги экспорт профилей
itservice вне форума  
Старый 01.08.2020, 10:31   #7
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 628
Бабло: $257430
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от M_S Посмотреть сообщение
Пускаешь скрипт, читает из файла первую строку, стирает из файла эту строку и перезаписывает файл. Останавливается.
Так нужно?

PHP код:
<?php
$fn 
"2.txt";

$file=file($fn);
$str trim($file[0]);
unset(
$file[0]);
file_put_contents($fnimplode("",$file));

echo 
$str;
?>
А если 100к строк и частые запросы к php файлу?
Soba вне форума  
Старый 01.08.2020, 10:44   #8
digg
$400
 
Аватар для digg
 
Регистрация: 17.05.2009
Сообщений: 14,045
Бабло: $1905380
Отправить сообщение для digg с помощью ICQ
По умолчанию

функция file( читает файл в массив, где каждая ячейка массива - это строка
но если файл сильно большой, то

PHP код:
if ($file fopen("file.txt""r")) {
    while(!
feof($file)) {
        
$line fgets($file);
    }
    
fclose($file);

digg вне форума  
Старый 01.08.2020, 11:01   #9
M_S
Monster
 
Аватар для M_S
 
Регистрация: 29.12.2007
Адрес: online
Сообщений: 395
Бабло: $69558
По умолчанию

Цитата:
Сообщение от Soba Посмотреть сообщение
А если 100к строк и частые запросы к php файлу?
Смотря насколько частые. Есть такая штука flock. Или файл разбить на мелкие и брать их по очереди, что бы 100к не дергать постоянно.
__________________
M_S вне форума  
Старый 01.08.2020, 11:08   #10
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 628
Бабло: $257430
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от digg Посмотреть сообщение
функция file( читает файл в массив, где каждая ячейка массива - это строка
но если файл сильно большой, то

PHP код:
if ($file fopen("file.txt""r")) {
    while(!
feof($file)) {
        
$line fgets($file);
    }
    
fclose($file);

Куда в этом случае впихнуть echo для вывода строки?
Soba вне форума