WapStyle » 2022.02.18 20:43

Короче нужен вывод строк из файла который постоянно обновляется системой
имеет вид

Код:

1
2
18/Feb/2022:20:51:13 +0500|/dfm96|0|Hurts - Redemption (Kolya Funk Remix)
18/Feb/2022:20:52:18 +0500|/dfm96|1|NRD1 - All Good Things (Come To An End)

и т.д.
тащу таким кодом строки из файла

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$data = file("тут ссыль до txt файла", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$track_count = 0;
for($i = count($data)-1;$i>0;$i--)
{
$mass = explode("|",$data[$i]);
if ($mass[1] == '/dfm96')
{
if ($track_count>0)
{
echo 'тра ля ля';
}
if ($track_count++==20)
break;
}
}

всё работает, но не тащит в режиме реального времени... (страницу обновил, все данные старые) скачал напрямую файл там другое..
пробовал заходить вообще с других устройств, нет изменений...
или я дурак или лыжи не едут

Gemorroj » 2022.02.19 00:58

https://3v4l.org/a8kUU
как-то так, например.
логику внутри цикла я не понял совсем. но само чтение файла - самое простое - file + array_reverse.

WapStyle » 2022.02.19 15:03

Спасибо за подсказку, твой код робит отменно
выше код и твой реализуют историю воспроизведения на icecast2 (не важно релей или своё)
главное в конфиге icecast2 указать чтобы он писал лог воспроизведения и создать ссыль на файл лога с доступом на чтение.

з.ы. я думал пытался вспомнить как сделать на foreach
реально я всё забыл, но спасибо тебе.