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

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

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

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

Даю файл txt

Код:
bla bla
qwerty
go go go
Нужен скрипт на пыхе который будет выводить при каждом обращении новую строку, пока файл не закончится.
Soba вне форума  
Старый 01.08.2020, 15:54   #12
RUma
Member
 
Регистрация: 28.12.2015
Сообщений: 42
Бабло: $4970
По умолчанию

если верно понял, что тебе нужно.
PHP код:
# построчное чтение файла (при каждом обращении выводится новая строка)

# SET
$file_str 'file_str.txt'# txt файл со строками
$file_cnt 'file_cnt.txt'# лог/счёт строк
$infinite 1# 1 - при достижении конца файла, начинает сначала.

#
if(!file_exists($file_cnt)) file_put_contents($file_cnt0);
$str_num file_get_contents($file_cnt);

#
header($_SERVER['SERVER_PROTOCOL'] . ' 200');
header('Cache-control: no-cache, no-store, max-age=0, must-revalidate, proxy-revalidate');
header('Pragma: no-cache');
header('Expires: -1');
header('Content-Type: text/html; charset=utf-8');

#
echo get_str($file_str$file_cnt$str_num$infinite);

###
function get_str($file_str$file_cnt$str_num$infinite){
    
$handle fopen($file_str'rb');
    
$echo ''$i 0; while(!feof($handle)){
        
$str trim(fgets($handle)); if(empty($str)) continue;
        
$i++; if($i $str_num) continue; else { file_put_contents($file_cnt$i+1); $echo $str; break; }
    }
    
fclose($handle);
    if(!empty(
$infinite) and empty($echo)){ file_put_contents($file_cnt0); $echo get_str($file_str$file_cnt0$infinite); }
    return 
$echo;
}
### 
RUma вне форума  
Старый 01.08.2020, 19:17   #13
centropartner
Member
 
Регистрация: 10.10.2013
Сообщений: 85
Бабло: $27014
По умолчанию

смотри в сторону php spl там есть обьекты для чтения построчно
centropartner вне форума  
Старый 01.08.2020, 20:10   #14
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

Цитата:
Сообщение от Soba
Нужен скрипт на пыхе который будет выводить при каждом обращении новую строку, пока файл не закончится.
Он написал что при каждом обращении. Я бы сделал через куки/сессию где бы хранил номер последней показанной строки файла, или просто счетчик+1 (это если нужно чтобы разные юзеры получали данные, например при посещении сайта)
Hector вне форума  
Старый 01.08.2020, 20:49   #15
digg
$400
 
Аватар для digg
 
Регистрация: 17.05.2009
Сообщений: 14,031
Бабло: $1903940
Отправить сообщение для digg с помощью ICQ
По умолчанию

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

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

Куда в этом случае впихнуть echo для вывода строки?
$line = fgets($file);
echo $line;
digg вне форума