ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

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

 

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

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

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

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

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

95
Артур @NoExist
<?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>';
?>

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

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

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

95
Артур @NoExist
Все сделал и скрипт перестал работать =*(

6245
Тарас @tarasian666
значит допустил синтаксичскую ошибку

95
Артур @NoExist
я сделал все как ты сказал...=\

6245
Тарас @tarasian666
ну значит не так понял ))

6245
Тарас @tarasian666
имел ввиду так

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');
}


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

95
Артур @NoExist
Щас по другому попробую

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

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

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

6245
Тарас @tarasian666
в тот же скрипт

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

6245
Тарас @tarasian666
значит не туда вставляешь

95
Артур @NoExist
так мне нужно смотри:

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>";, а мне нужно, что бы и название и ссылка менялись в зависимости от названия потока

6245
Тарас @tarasian666
тогда такую же процедуру делаем $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
95
Артур @NoExist
Хм, а как сделать так, что если играет потока FrostFM, то идет ссылка 1, а если играет FrostFMSZ, то ссылка 2? Просто я в коде этого не увидел =(

6245
Тарас @tarasian666
потому что ты подставил 2 одинаковых маунта

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

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

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

95
Артур @NoExist
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');}

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