У меня есть текстовый файл, хранящий строки. Текстовый файл будет меняться каждые 1 минуту. Я хочу показать целую строку на моей php-странице. Мой php-код просто извлекает данные из текстового файла. Я хочу, чтобы моя php-страница обновлялась каждую минуту и показывала обновленные данные.
Мой файл data.txt
:
1~1~10,56,82,34,22,78,56,15,41,25,47,33,48~82-I am Aakash,83- I am Vijay
мой php-код для получения данных:
<?php $myFile = "data.txt"; $fh = fopen($myFile, 'r'); $theData = fread($fh, filesize($myFile)); fclose($fh); echo $theData; ?>
Вы можете использовать stream_get_contents . Просто, поток вашего текстового файла, как хвост. Ваш клиент html будет делать ajax-вызов каждую минуту на ваш серверный скрипт, написанный на php. Например;
PHP: file_read.php
<?php if (isset($_GET['tail'])) { session_start(); $handle = fopen('your_txt_file.txt', 'r');// I assume, a.txt is in the same path with file_read.php if (isset($_SESSION['offset'])) { $data = stream_get_contents($handle, -1, $_SESSION['offset']);// Second parameter is the size of text you will read on each request echo nl2br($data); } else { fseek($handle, 0, SEEK_END); $_SESSION['offset'] = ftell($handle); } exit(); } ?>
HTML:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="jquery.min.js"></script><!-- give corrected jquery path --> <script> setInterval(function(){get_contents();}, 10000*60); function get_contents() { $.get('file_read.php.php?tail', function(data) { $('#contents').append(data); }); } </script> </head> <body> <div id="contents">Loading...</div> </body> </html>