Короче, у меня есть сайт и на нем есть плеер с потоком онлайн-радиостанции. Я захотел добавить в плеер данные об играющем треке в эфире и для этого зашел на сайт хостинга для вещания на IceCast 2 (radioheart.ru). На их сайте был скрипт для получения данных об играющем треке, который я взял. Написав код на локалке, все работало идеально (ошибок не было) и играющий трек показывался, но при переносе скрипта на хостинг (я использую hoster.kz) скрипт перестал работать.
Скрипт с техникой добавления на сайт:
Создаем файл radiostat.php, вносим в него следующий код и сохраняем в корне сайта:
<?php
//НАСТРОЙКИ СКРИПТА//
//Ссылка на картинку, которая будет отображаться, если изображение не найдено в базе LAST.FM
$no_photo_url='http://upload.wikimedia.org/wikipedia/commons/3/37/No_person.jpg';
$width='100'; //ширина картинки
$height='100'; //высота картинки
//НЕ ИЗМЕНЯЙТЕ НИЧЕГО НИЖЕ///
//LIVE STREAM
$data = json_decode(file_get_contents("http://s0.radioheart.ru:8000/json.xsl?mount=/radioart"));
if (!count($data->mounts) || strlen($data->mounts[0]->server_name) < 2) {
//NONSTOP
$data = json_decode(file_get_contents("http://s0.radioheart.ru:8000/json.xsl?mount=/nonstop"));
}
$stream_title = $data->mounts[0]->server_name;
//Если сайт в кодировке windows-1251 (cp-1251), раскомментируйте следующую строчку
//$stream_title = iconv("UTF-8", "WINDOWS-1251", $stream_title);
$stream_description = $data->mounts[0]->description;
$listeners = $data->mounts[0]->listeners;
$song = $data->mounts[0]->title;
$image = '';
//Если сайт в кодировке windows-1251 (cp-1251), раскомментируйте следующую строчку
//$song = iconv("UTF-8", "WINDOWS-1251", $song);
$artist = explode(" - ", $song);
$artist = $artist[0];
$artist = str_replace(" ", " ", $artist);
$size = "large";
// Выводим данные
echo "<div id='radiostat'>";
echo "Название потока: $stream_title<br />";
echo "Описание потока: $stream_description<br />";
echo "Слушателей: $listeners<br />";
echo "Сейчас в эфире: $song<br />";
echo "</div>";
?>
Добавляем контейнер на сайте, где должна отображаться информация:
<div id="radiostat">Загрузка...</div>
Подключаем библиотеку Jquery между тегами и , если она у вас еще не подключена!
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
Вставляем между тегами и в код сайта после подключения Jquery
<script>
function nowplay()
{
$.ajax({
url: "/radiostat.php", //Тут указываем файл со скриптами
cache: false,
success: function(html){
$("#radiostat").html(html); //Контейнер для вывода информации
}
});
}
$(document).ready(function(){
nowplay();
setInterval('nowplay()',30000); //Время в милесекундах, 30000=30сек
});
</script>