1

Тема: Ссылка с названия потока

В общем, на форуме я ничего подобного не нашел да и не знаю как поиск сформулировать...

Мне надо, что бы когда играет поток "Стол Заказов" на странице, где выводится информация о том, что в эфире и где написано "Стол Заказов" с это надписи шла ссылка на стол заказов, но когда меняется поток на "Нон-Стоп" и соответственно меняется надпись, то уже шла другая ссылка.

Я знаю, что это возможно и даже дам ссылку на пример - www.grind.fm

Мои знания не позволяют даже приблизительно придумать как это сделать, сможете помочь?

2

Re: Ссылка с названия потока

каким скриптом пользуешься для вывода "что в эфире" ?

3

Re: Ссылка с названия потока

<?php

    $data = file_get_contents('http://109.120.144.101:8000/status.xsl?mount=/FrostFM');

    function antara($string, $start, $end){
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0) return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
    }
header("Content-type: text/html; charset=windows-1251");
if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>")  ==''){$data = file_get_contents('http://109.120.144.101:8000/status.xsl?mount=/FrostFM');}

    $data = iconv("utf-8", "cp1251", $data);
    $title = antara($data, "Stream Title:</td>\n<td class=\"streamdata\">","</td>");
    $description = antara($data, "Stream Description:</td>\n<td class=\"streamdata\">","</td>");
    $content_type = antara($data, "Content Type:</td>\n<td class=\"streamdata\">","</td>");
    $Mount_started = antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>");
    $Bitrate = antara($data, "Bitrate:</td>\n<td class=\"streamdata\">","</td>");
    $Current_listeners = antara($data, "Current Listeners:</td>\n<td class=\"streamdata\">","</td>");
    $Peak_listeners = antara($data, "Peak Listeners:</td>\n<td class=\"streamdata\">","</td>");
    $Stream_genre = antara($data, "Peak Listeners:</td>\n<td class=\"streamdata\">","</td>");
    $Stream_url = antara($data, "Stream URL:</td>\n<td class=\"streamdata\">","</td>");
    $Current_song = antara($data, "Current Song:</td>\n<td class=\"streamdata\">","</td>");
    $hellp_curr_listeners = antara($hellp, "Сейчас слушают:</td>\n<td class=\"streamdata\">","</td>");
    $hellp_peak_listeners = antara($hellp, "Максимум было</td>\n<td class=\"streamdata\">","</td>");
    $Curr_listens=$Current_listeners2+$Current_listeners+$hellp_curr_listeners;
    $Peak_listens=$Peak_listeners2+$Peak_listeners+$hellp_peak_listeners;

    $staylst=$Curr_listens+1;
    echo '<span style="font-size: 0.72em; font-family:Trebuchet MS, Tahoma, Arial, sans-serif; color:#3090c3"><span style="font-size: large;"><br><b>В эфире:</b><br></span><span style="font-size: small;"> '.$title.' <br></span>
    <span style="font-size: large;"><br><b>У руля:</b></b><br></span><span style="font-size: small;"> '.$description.' <br></span>
    <span style="font-size: large;"><br><b>Сейчас в эфире:</b><br></span><span style="font-size: small;"> '.$Current_song.' <br></span>
    <center></center>';
    ?>

4

Re: Ссылка с названия потока

перед if(antara($data, "Mount started:.....
делаем $link = 'http://ссылка1';

между {} добавляем  $link = 'http://ссылка2';

в нужном месте выводим echo "<a href='$link' >ссылка</a>";

5

Re: Ссылка с названия потока

Все сделал и скрипт перестал работать =*(

6

Re: Ссылка с названия потока

значит допустил синтаксичскую ошибку

7

Re: Ссылка с названия потока

я сделал все как ты сказал...=\

8

Re: Ссылка с названия потока

ну значит не так понял ))

9

Re: Ссылка с названия потока

имел ввиду так

header("Content-type: text/html; charset=windows-1251");

$link = 'http://ссылка1';

if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>")  ==''){$data = file_get_contents('http://109.120.144.101:8000/status.xsl?mount=/FrostFM');
$link = 'http://ссылка2';
}


или так

$link = 'http://ссылка1';

header("Content-type: text/html; charset=windows-1251");

if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>")  ==''){$data = file_get_contents('http://109.120.144.101:8000/status.xsl?mount=/FrostFM');
$link = 'http://ссылка2';
}


или так

$link = 'http://ссылка1';

header("Content-type: text/html; charset=windows-1251");

if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>")  ==''){
$link = 'http://ссылка2';
$data = file_get_contents('http://109.120.144.101:8000/status.xsl?mount=/FrostFM');
}


и тд итп еще есть пару вариантов

10

Re: Ссылка с названия потока

Щас по другому попробую

А еще уточни один момент, может я с ним и допустил ошибку.

echo "<a href='$link' >ссылка</a>";

Вот это куда вставлять? В шаблон сайта? Или в пхп?

11

Re: Ссылка с названия потока

в тот же скрипт

12

Re: Ссылка с названия потока

Вот не знаю... Без echo "<a href='$link' >ссылка</a>"; Скрипт работает, но без ссылки, вставляю, перестает...

13

Re: Ссылка с названия потока

значит не туда вставляешь

14

Re: Ссылка с названия потока

так мне нужно смотри:

   echo '<span style="font-size: 0.72em; font-family:Trebuchet MS, Tahoma, Arial, sans-serif; color:#3090c3"><span style="font-size: large;"><br><b>В эфире:</b><br></span><span style="font-size: small;">

В этом коде его вставить, что бы было так: "В эфире: и тут ссылка"

+ там нужно ведь название еще вводить echo "<a href='$link' >ссылка</a>";, а мне нужно, что бы и название и ссылка менялись в зависимости от названия потока

15

Re: Ссылка с названия потока

тогда такую же процедуру делаем $link_name = 'название ссылки1';

   echo '<span style="font-size: 0.72em; font-family:Trebuchet MS, Tahoma, Arial, sans-serif; color:#3090c3"><span style="font-size: large;"><br><b>В эфире:<a href="'.$link.'" >'.$link_name.'</a></b><br></span><span style="font-size: small;">

Отредактировано tarasian666 (08-02-2012 18:43:46)

16

Re: Ссылка с названия потока

Хм, а как сделать так, что если играет потока FrostFM, то идет ссылка 1, а если играет FrostFMSZ, то ссылка 2? Просто я в коде этого не увидел sad

17

Re: Ссылка с названия потока

потому что ты подставил 2 одинаковых маунта

18

Re: Ссылка с названия потока

А тот, самый первый вообще на код не влияет, на сколько я понял т.к. данные не берет с него.

19

Re: Ссылка с названия потока

берет с первого, если там ничего нет берет со второго

если на status.xsl нету Mount started меняй строчку на то что там есть

20

Re: Ссылка с названия потока

Mount started есть

С этой строчки он не берет данные -     $data = file_get_contents('http://109.120.144.101:8000/status.xsl?mount=/FrostFM');
А с этой берет -     if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>")  ==''){$data = file_get_contents('http://109.120.144.101:8000/status.xsl?mount=/FrostFM');}

Может быть первую заменить на такую же вторую?

21

Re: Ссылка с названия потока

берет с обоих, так как они иденьтичны, просто не находит строчку "Mount started:</td>\n<td class=\"streamdata\">" в status.xsl или она не пустая
суть скрипта если Mount started есть (то есть пишет когда запущен маунт) - значит парсим этот маунт, если не пишет - парсим другой

22

Re: Ссылка с названия потока

Нету там вообще такого нечего, щас поставлю другой айкаст и проверю)

23

Re: Ссылка с названия потока

Хмм... Установил айс кх30 и потоки стали пропадать... Была уже такая фигня, но я как то все исправил, толи само прошло...

24

Re: Ссылка с названия потока

Все, с ней разобрался, так теперь там есть Mount Start, я заменил Mount Started на него но все равно нече не хочет работать.... И просто с Mount Started тоже...

25

Re: Ссылка с названия потока

Усе, я во всем разобрался, только вопрос, можно ли это все сделать при фоллбеке?