1
1
mirror of https://github.com/anthonyaxenov/iptv.git synced 2024-12-22 14:26:26 +00:00

Куча мелких правок

- Файл channels.ini переименован в playlists.ini, добавлена текстовка
- Добавлена ссылка на гитхаб
- Добавлена дата посл. изменения файла playlists.ini
- Не выводятся те плейлисты из файла, у коих не указан pls
- Убран закомментированный код
This commit is contained in:
Anthony Axenov 2020-04-20 12:02:34 +08:00
parent 35941ec56e
commit 16e92f8c08
2 changed files with 49 additions and 104 deletions

View File

@ -1,54 +0,0 @@
[1]
name='smarttvapp.ru'
pls='https://smarttvapp.ru/app/iptvfull.m3u'
src='https://smarttvapp.ru/aktualnyiy-i-rabochiy-iptv-pleylist-m3u/'
[2]
name='IPTV Forever RU webhalpme.ru'
pls='https://webhalpme.ru/listru.m3u'
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
[3]
name='IPTV Forever webhalpme.ru'
pls='https://webhalpme.ru/list.m3u'
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
[4]
name='iptvm3u.ru ONE'
pls='https://iptvm3u.ru/onelist.m3u'
src='https://iptvm3u.ru/one/'
[5]
name='iptvm3u.ru HD'
pls='https://iptvm3u.ru/hdlist.m3u'
src='https://iptvm3u.ru/iptv-hd/'
[6]
name='smarttvnews.ru'
pls='https://smarttvnews.ru/apps/iptvchannels.m3u'
src='https://smarttvnews.ru/rabochiy-i-aktualnyiy-iptv-pleylist-m3u-kanalyi-v-sd-i-hd-kachestve/'
[7]
name='webarmen.com'
pls='https://webarmen.com/my/iptv/auto.nogrp.m3u'
src='https://webarmen.com/my/iptv/index.php'
[8]
name='tv-smart-tv.ru'
pls='http://tv-smart-tv.ru/iptv/pl.m3u'
src='https://tv-smart-tv.ru/besplatnyy-samoobnovlya-emyy-iptv-pley-list-bolee-600-kanalov-m3u/'
[9]
name='Детский IPTV «Kids»'
pls='https://webhalpme.ru/kids.m3u'
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
[10]
name='Плейлист от SlyNet'
pls='http://urlcut.ru/FreeBestTV.m3u'
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
[11]
name='webarmen.com 18+'
pls='https://webarmen.com/my/iptv/auto.xxx.m3u'
src='https://webarmen.com/my/iptv/xxx.php'

View File

@ -1,9 +1,17 @@
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if ($_GET['dbg']) {
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
}
/**
* Возвращает количество каналов в плейлисте
*
* @param string $pls_url URL плейлиста
* @return int
*/
function getChannelCount($pls_url) {
$content = file_get_contents($pls_url);
$matches = [];
@ -11,17 +19,12 @@ function getChannelCount($pls_url) {
return count($matches[0]);
}
// Шаблон короткой ссылки на плейлист
// $my_url = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'?s=';
$my_url = $_SERVER['SERVER_NAME'].'/'.basename(__DIR__).'?s=';
$data = parse_ini_file('channels.ini', true);
if (!empty($_GET['dbg'])) {
var_dump(__DIR__);
var_dump(basename(__DIR__));
var_dump($_SERVER);
die;
}
// Чтение списка плейлистов из ini-файла
$data = parse_ini_file('playlists.ini', true);
if (empty($_GET['s'])) { ?>
<!DOCTYPE html>
@ -34,15 +37,18 @@ if (empty($_GET['s'])) { ?>
<body>
<h1>Список самообновляемых плейлистов для IPTV</h1>
<p>
Эти плейлисты бесплатны и подобраны вручную из открытых источников.<br>
Поддержкой самих плейлистов занимаются сервисы и ресурсы, указанные как источник (если таковые имеются).
Дата обновления списка: <strong>
<?=date('d-m-Y h:i:s', filemtime('playlists.ini'))?>
<br>
<a href="https://github.com/anthonyaxenov/iptv">github.com/anthonyaxenov/iptv</a>
</strong>
<p>
Поддержкой этих плейлистов занимаются сервисы и ресурсы, указанные как источник (если таковые имеются).<br>
Эти плейлисты собраны здесь вручную и бесплатны.
</p>
<p>Чтобы подключить плейлист, нужно в настройках IPTV-плеера добавить ссылку в следующем формате:</p>
<pre><?=$my_url?><strong>ID</strong></pre>
<p>
где <strong>ID</strong> - один из указанных ниже идентификаторов.<br>
Либо указывать ссылку на оригинальный плейлист в последней колонке.
</p>
<p>где <strong>ID</strong> - один из указанных ниже идентификаторов.</p>
<table width="100%" border="1" cellpadding="1">
<thead>
<tr>
@ -50,42 +56,35 @@ if (empty($_GET['s'])) { ?>
<td>Название, источник</td>
<td style="text-align: center">Каналов</td>
<td>Плейлист</td>
<!-- <td>Оригинал</td> -->
</tr>
</thead>
<tbody>
<?php foreach ($data as $id => $element) { ?>
<tr>
<td style="text-align: center">
<strong><?=$id?></strong>
</td>
<td>
<strong>
<?php if (empty($element['src'])) { ?>
<?=$element['name']?>
<?php } else { ?>
<a href="<?=$element['src']?>" target="_blank" rel="noopener nofollow"><?=$element['name']?></a>
<?php } ?>
</strong>
</td>
<td style="text-align: center"><?=getChannelCount($element['pls'])?></td>
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$my_url?><?=$id?>')"
title="Нажмите, чтобы скопировать адрес"
style="cursor:pointer">
<strong>
<pre><?=$my_url?><?=$id?></pre>
</strong>
</td>
<?php
/*
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$element['pls']?>')"
title="Нажмите, чтобы скопировать адрес"
style="cursor:pointer">
<pre><?=$element['pls']?></pre>
</td>
*/
?>
</tr>
<?php foreach ($data as $id => $element) {
if (empty($element['pls'])) {
continue;
} ?>
<tr>
<td style="text-align: center">
<strong><?=$id?></strong>
</td>
<td>
<strong>
<?php if (empty($element['src'])) { ?>
<?=$element['name']?>
<?php } else { ?>
<a href="<?=$element['src']?>" target="_blank" rel="noopener nofollow"><?=$element['name']?></a>
<?php } ?>
</strong>
</td>
<td style="text-align: center"><?=getChannelCount($element['pls'])?></td>
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$my_url?><?=$id?>')"
title="Нажмите, чтобы скопировать адрес"
style="cursor:pointer">
<strong>
<pre><?=$my_url?><?=$id?></pre>
</strong>
</td>
</tr>
<?php } ?>
</tbody>
</table>