ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
7   •   Посмотреть все темы

SHOUTcast XML Status Помогите пожалуйста..

 

5
Илья @Wityaz
Как сделать запрос на SHOUTcast сервер чтобы получить на выходе(на страничке сайта) данные из XML статуса?

Я читал что можно как-то через GET запрос, но не получается ни как..

Вот код запроса.. что ни так??
  1.  
  2. <?php
  3. function unhtmlentities($string)
  4. {
  5. $trans_tbl=array();
  6. for($i=32;$i<=255;$i++)
  7. $trans_tbl['&#x'.strtoupper(dechex($i)).';']=chr($i);
  8. return strtr($string, $trans_tbl);
  9. }
  10. $scfp = @fsockopen("$scip", $scport, &$errno, &$errstr, 10);
  11. if(!$scfp) {
  12. $scsuccs=1;
  13. echo'';
  14. }
  15. if($scsuccs!=1){
  16. fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
  17. while(!feof($scfp)) {
  18. $page .= fgets($scfp, 1000);
  19. }
  20. $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS", "MAXLISTENERS");
  21. $y=0;
  22. while($loop[$y]!=''){
  23. $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
  24. $scphp = strtolower($loop[$y]);
  25. $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
  26. if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
  27. $$scphp = urldecode($$scphp);
  28. $y++;
  29. }
  30. $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
  31. $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
  32. $songatime = explode("<SONG>", $pageed);
  33. $r=1;
  34. while($songatime[$r]!=""){
  35. $t=$r-1;
  36. $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
  37. $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
  38. $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
  39. $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
  40. $song[$t] = unhtmlentities($song[$t]);
  41. $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
  42. $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
  43. $r++;
  44. }
  45. fclose($scfp);
  46. }
  47. if($streamstatus == "1"){
  48. echo'<html>
  49. {Код страницы} //тут страничка если сервер включен
  50. </html>'
  51. }
  52. else
  53. {
  54. echo'<html>
  55. {Код страницы} //а тут если выключен
  56. </html>';}
  57. ?>

0
32
Ilya @Neon
! Тебе Сюда ! **********

Отредактировано Neon - 16.08.2012
0
6245
Тарас @tarasian666
скрипт в порядке, проблема может в водимых в скрипт данных

0
5
Илья @Wityaz
Neon пишет:

!Тебе Сюда! **********

не работают(

0
5
Илья @Wityaz
tarasian666 пишет:

скрипт в порядке, проблема может в водимых в скрипт данных

А как вводить? у меня прописано

$scdef = "Радио Рында";
$scip = "62.16.92.226";
$scport = "8000";
$scpass = "я промолчу";

0
5
Илья @Wityaz
Может на самом сервере что то надо сделать?

0
6245
Тарас @tarasian666
какая версия php ?

функция ereg_replace устарела

0
5
Илья @Wityaz
tarasian666 пишет:

какая версия php ?

функция ereg_replace устарела


на хостинге написано Версия PHP 5.2.14

Отредактировано Wityaz - 04.05.2012
0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.