djsoft
Administrator
Сообщений: 1995
|
 |
« : Февраль 18, 2011, 10:17:45 » |
|
Инструкция: как вывести название трека, который играет в RadioBOSS на сайт. 1) На сайте создается скрипт, который будет принимать название от RadioBOSS. Пусть этот скрипт называется httpreq.phpПример подобного скрипта: <?php //get artist/title info $artist = $_GET['artist']; $title = $_GET['title']; //create a temp file to store values for AJAX script $r = fopen("temp_title.txt", "w"); fwrite($r, $artist." - ".$title); fclose($r); ?> Этот скрипт принимает название трека от RadioBOSS и создает в той же папке файл temp_title.txt, в котором сохраняет принятую информацию. Этот файл будет позже использован для вывода названия на страницу. * если файл не создается, то нужно его создать через FTP клиент и дать права 777. ** это только пример, для рабочего варианта крайне желательно обезопасить скрипт, например, так: http://www.radioboss.ru/smf_ru/index.php/topic,995.msg6150.html#msg61502) В RadioBOSS в окне Настройки, раздел Отчеты, нужно включить опцию " Использовать HTTP запрос". В поле нужно ввести адрес скрипта и необходимые параметры. Для примера: Здесь передаются параметры %artist и %title - исполнитель и название. Возможные параметры: %artist - исполнитель %title - название %album - альбом %duration - длительность %genre - жанр 3) Пример страницы сайта, на которую будет выводиться название: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <b>Здесь отображается название играющего трека:</b> <div id="track_name"></div> <!-- begin update track title code --> <script type="text/javascript"> function UpdateTitle() { var xmlhttp; //get "track name" block if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var s = xmlhttp.responseText; document.getElementById('track_name').innerHTML = s; } } //use random number in request to prevent caching var rand_no = Math.random(); rand_no = rand_no * 100; //read the "temp_title.txt" file xmlhttp.open("POST", "/temp_title.txt?"+rand_no, true); xmlhttp.send(); } // setInterval("UpdateTitle()", 1000); UpdateTitle(); </script> <!-- end update track title code --> </body> </html> Алгоритм работы прост: название выводится в блок <div id="track_name"></div>, обновление происходит по таймеру (в примере - каждую 1 секунду = 1000мс) - вызывается функция UpdateTitle(). Эта функция читает содержимое файла temp_title.txt и отображает его на сайте. Название трека будет меняться автоматически, обновление страницы не требуется. Скрипты находятся в аттаче к этому посту.
|
|
|
|
« Последнее редактирование: Ноябрь 15, 2011, 04:53:33 от djsoft »
|
Записан
|
|
|
|
cHameleon
Сообщений: 9
|
 |
« Ответ #1 : Февраль 18, 2011, 10:38:10 » |
|
еще можно сделать лимит на кол-во треков в "temp_title.txt" :-)
|
|
|
|
|
Записан
|
|
|
|
cHameleon
Сообщений: 9
|
 |
« Ответ #2 : Февраль 18, 2011, 10:48:07 » |
|
<?php if (isset($_GET)) { $file = "temp_title.txt";//file to store the track names $numtrack = 10;//maximum number of tracks $fopen = file($file); if (count($fopen) > $numtrack) { array_unshift($fopen, stripslashes($_GET['artist'])." - ".stripslashes($_GET['title'])."\n"); array_pop($fopen); $f=fopen($file, "w"); for($i=0;$i<count($fopen);$i++) { fwrite($f,$fopen[$i]); } fclose($f); } else { array_unshift($fopen, stripslashes($_GET['artist'])." - ".stripslashes($_GET['title'])."\n"); $f=fopen($file, "w"); for($i=0;$i<count($fopen);$i++) { fwrite($f,$fopen[$i]); } fclose($f); } } ?>
|
|
|
|
|
Записан
|
|
|
|
djsoft
Administrator
Сообщений: 1995
|
 |
« Ответ #3 : Февраль 18, 2011, 10:52:11 » |
|
еще можно сделать лимит на кол-во треков в "temp_title.txt" :-)
В моем примере только 1 трек - содержимое файла каждый раз перезаписывается... Ну это чтобы показать самую основу, как это вообще делается. Спасибо за расширение функционала! )
|
|
|
|
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #4 : Март 31, 2011, 03:55:03 » |
|
Прочитал эту новость и вновь расстроился. Дело в том, что уже почти неделю мучаюсь с тем, чтобы каким-то образом научиться тонкостям flah/php/html индустрии, но успехов на этом фронте практически не наблюдается. Сначала думал, что реально с помощью uppod плеера реализовать возможность вывода трека, который сейчас в эфире, о увы перепробовав 50 или 30 вариантов по выводу скриптов всеразличных махинаций так и застопорился на тупиковом деле. В отчаянии стал бороздить гугла и вот наткнулся на эту тему. А тема действительно хороша, но опять на меня нахныла волна отчаяния: всё дело в том, что сайт создан на субдомене weebly, возможно вам известен такой и он редактируется в php, но выводит всё в html. А для того, чтобы загрузить какой-либо скрипт, или ява скрипт код плеера например идёт драгэнддроп код html, в который вставляется код. Но недавно решил воспользоваться хостингом php, на котором пытаю себя в этой области: всё вроде сделал по инструкции вашей, однако текущий трек почему-то не сохраняется в файле соответствущем. Возможно я неправильно установил скрипт, а также не прописал его для вывода на главную страницу...А к тому же, теперь ещё и трудности с тем, каким образом возможно реализовать всё это на субдомене weebly.com: будет ли это какой-то скрипт-код, или код, который сможет хватать написанный вами скрипт с моего хостинга php. Если кто в этом может мне помочь, будьте так добры не дайте зачахнуть окончательно доброму радио, ему осталось жить совсем чуток...+) Может быть одним ява-скриптом или html-кодом можно организовать то, что вы написали? Спасибо человеческое за всё, если что! На всякий случай адрес домена http://weebly.com, где можно вставлять html-код, а также есть к каждой странице в настройках header и footer коды, может быть они помогут реализовать это?
|
|
|
|
« Последнее редактирование: Март 31, 2011, 03:58:55 от zombiyes »
|
Записан
|
|
|
|
djsoft
Administrator
Сообщений: 1995
|
 |
« Ответ #5 : Март 31, 2011, 04:19:14 » |
|
Бесплатные хостинги могут создавать массу проблем, т.к. код перед тем, как попасть на сайт, в большинстве случаев подвергается модификации. В первом сообщении темы очень подробно расписано, что нужно сделать для вывода названия трека на сайт. Требования к хостингу: только наличие PHP. JavaScript выполняется на стороне клиента и от хостинга не зависит. В примере использован AJAX - чтобы название трека менялось без полной перезагрузки страницы. Я бы рекомендовал разобраться с тенологиями PHP, Javascript, AJAX - для поверхностного понимания этого достаточно 1 вечера. И этих знаний точно хватит для установки скрипта 
|
|
|
|
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #6 : Апрель 01, 2011, 04:40:53 » |
|
Спасибо за разъяснения! Дело в том, что бесплатный хостинг от weebly он не совсем бесплатный и при оплате проаккаунта появляются масса преимуществ по сравнению с обычным пользователем. Однако суть такова, что везде где мне приходилось иметь дело со всеразличными скриптами, php-кодами и так далее я натыкался на объяснение того, что это должно устанавливаться в корень сайта (например), либо через ftp заливать нужно, но однако ни ftp, ни корень сайта у этого домена не преполагается, зато есть встроенный html-код, который можно в любом месте вставить вместе с каким-либо скриптом. Но ведь, я так понимаю этого будет недостаточно, если я например тот код скрипта, который Вы расположили размещу в этот блок html, ведь он должен каким-то образом создавать в той же директории и текстовый файл с именем исполнителя. Вот тут ступор возникает. Подумаю конечно, каким образом можно привязать один хостинг к примеру с другим с помощью того же скрипта. Может кто подскажет: мне нужно перенаправить файлы с одного хостинга (который на php, с возможностью вставки в корень скрипта) на другой (weebly), который уже через html-код сможет принять нужную информацию и отобразить её на главной страничке. Я понимаю, задачка не из легких, но однако смышленые люди, которые уже с этим имели дело наверняка знают её решение...А реально это реализовать как swf object? Чтобы скриптом вставить прямо на сайт готовый код? Спасибо за разъяснения, приятно получать квалифицированные ответы;)
|
|
|
|
|
Записан
|
|
|
|
djsoft
Administrator
Сообщений: 1995
|
 |
« Ответ #7 : Апрель 01, 2011, 04:50:37 » |
|
Прямой доступ к сайту все равно нужен будет, скорее всего. Я бы рекомендовал попробовать, а там уже видно будет. Лучше, конечно, использовать нормальный хостинг без всяких разных ограничений и непонятных преобразований.
|
|
|
|
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #8 : Апрель 01, 2011, 04:57:35 » |
|
Сейчас пытаюсь проделать типовую махинацию с трюком по автоматическому созданию текстового файла благодаря скрипту №1 в начале топика. " Этот скрипт принимает название трека от RadioBOSS и создает в той же папке файл temp_title.txt, в котором сохраняет принятую информацию. Этот файл будет позже использован для вывода названия на страницу. * если файл не создается, то нужно его создать через FTP клиент и дать права 777."
Все операции произвожу на другом хостинге (на php), выкладываю в корень скрипт httpreq.php, затем в настройках Radio Boss прописываю путь запроса get:http://zombiyes.wallst.ru/httpreq.php. В результате никаких новых файлов не появляется в корне, действую согласно инструкции указывая настройки ftp своего хостинга в Radio Boss. Единственное не понял, что значит дать права 777? Это порт, либо это пассивный реж (путь)? Помогите будьте добры?
|
|
|
|
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #9 : Апрель 01, 2011, 05:01:23 » |
|
Прямой доступ к сайту все равно нужен будет скорее всего.
Прямой доступ есть к управлению сайтом (имею ввиду weebly), объясню как он выглядит: к примеру есть настройки целиком всего сайта, возможность в голове или ногах (header, footer) прописать какой-либо код, а также постранично в каждой есть такая возможность, однако это ли нужно сейчас?
|
|
|
|
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #10 : Апрель 01, 2011, 05:09:33 » |
|
Сейчас пытаюсь проделать типовую махинацию с трюком по автоматическому созданию текстового файла благодаря скрипту №1 в начале топика. " Этот скрипт принимает название трека от RadioBOSS и создает в той же папке файл temp_title.txt, в котором сохраняет принятую информацию. Этот файл будет позже использован для вывода названия на страницу. * если файл не создается, то нужно его создать через FTP клиент и дать права 777."
Все операции произвожу на другом хостинге (на php), выкладываю в корень скрипт httpreq.php, затем в настройках Radio Boss прописываю путь запроса get:http://zombiyes.wallst.ru/httpreq.php. В результате никаких новых файлов не появляется в корне, действую согласно инструкции указывая настройки ftp своего хостинга в Radio Boss. Единственное не понял, что значит дать права 777? Это порт, либо это пассивный реж (путь)? Помогите будьте добры?
Здесь сам вроде разобрался, сейчас попробую реализовать о результатах проделанного скорее всего сообщу+)
|
|
|
|
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #11 : Апрель 01, 2011, 05:28:14 » |
|
Общем результаты для такого как я выглядят следующим образом: файл он создаёт, но почему-то не в той же директории, где лежит скрипт (не в public_html), а каким-то образом сохраняет его в самый корень хостинга моей страницы. Теперь, чтобы привязать эти данные из файла к странице для отображения данных не доходит до меня, каким образом. Возможно это моя лень разбираться в тонкостях программирования, не отрицаю. Однако, понимаю что есть люди, которые эту работу знают на зубок и всего лишь нужно направить меня, подсказать, наставить чтоли+) Ладно, буду надеяться на лучшее, главное что уже что-то стало получаться.Это уже успех! Может быть что-то в коде страницы index.html нужно что-то другое прописать?(тот пример, что был выложен вставил простым копированием редактирование index.html, но результат только такой:http://zombiyes.wallst.ru/
|
|
|
|
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #12 : Апрель 01, 2011, 05:32:06 » |
|
еще можно сделать лимит на кол-во треков в "temp_title.txt" :-)
А каким образом есть возможность реализовать историю прозвучавших песен таким же образом, чтобы информация на сайте обновлялась? Кто-нибудь наверняка уже такое реализовал у себя?)
|
|
|
|
« Последнее редактирование: Апрель 01, 2011, 06:59:15 от zombiyes »
|
Записан
|
|
|
|
zombiyes
Сообщений: 13
Жёлтий бабочка
|
 |
« Ответ #13 : Апрель 02, 2011, 10:53:56 » |
|
Ребята и девчата! Держитесь сейчас крепче крепкого, я постараюсь вас удивить тем, что совсем недавно увидел: а речь идёт о полнофункциональных инструментах для настоящего уважающего себя диджея, человека, которому небезразличны его слушатели. Общем долго мутить не собираюсь, а лишь сообщу о том, что ресурс http://www.musicgoal.com/tools/ заслуживает самой высокой похвалы за то, что там имеется в наличие. Арсенал от выкладывания кода, который отображает онлайн (оффлайн) статус радио, количество слушателей, качество вещания, трек, который звучит в эфире, возможность автоматической генерации плейлиста по ссылке на поток (шоуткаст или айскаст). Общем, я в шоке, не знаю как эта новость отразится на остальных, которые так долго бороздят просторы интернета в поисках этих замечательных вещей. И не нужно быть программистом, чтобы всё это выложить в удобном виде на свой сайт! Yes и Ура!!!+) Маленькое замечание6 обновление информации о слушателях, статусе, играющем треке происходит не динамически, а при обновлении страницы или заходе на сайт (вот единственный один недочётик, но я его вообще не беру в счёты).
|
|
|
|
« Последнее редактирование: Апрель 02, 2011, 10:56:43 от zombiyes »
|
Записан
|
|
|
|
djsoft
Administrator
Сообщений: 1995
|
 |
« Ответ #14 : Апрель 02, 2011, 04:33:53 » |
|
Ребята и девчата! Держитесь сейчас крепче крепкого, я постараюсь вас удивить тем, что совсем недавно увидел: а речь идёт о полнофункциональных инструментах для настоящего уважающего себя диджея, человека, которому небезразличны его слушатели. Общем долго мутить не собираюсь, а лишь сообщу о том, что ресурс http://www.musicgoal.com/tools/ заслуживает самой высокой похвалы за то, что там имеется в наличие. Арсенал от выкладывания кода, который отображает онлайн (оффлайн) статус радио, количество слушателей, качество вещания, трек, который звучит в эфире, возможность автоматической генерации плейлиста по ссылке на поток (шоуткаст или айскаст). Общем, я в шоке, не знаю как эта новость отразится на остальных, которые так долго бороздят просторы интернета в поисках этих замечательных вещей. И не нужно быть программистом, чтобы всё это выложить в удобном виде на свой сайт! Yes и Ура!!!+) Маленькое замечание6 обновление информации о слушателях, статусе, играющем треке происходит не динамически, а при обновлении страницы или заходе на сайт (вот единственный один недочётик, но я его вообще не беру в счёты). То, что обновление названия делается только с перезагрузкой страницы очень большой недостаток - так делали сайты в 90-х, сейчас уже другое время... А для того, чтобы вставить код из первого поста темы, тоже не нужно быть программистом  Нужно только 1) следовать инструкциям и 2) иметь нормальный хостинг, никаких бесплатных или с закачкой через непонятные скрипты.
|
|
|
|
|
Записан
|
|
|
|
|