101

Re: Грфическая информация о станции (icecast2+php)

<?php 
header ("Content-type: image/png");
$im = ImageCreateFromPng("blank.png");
$color = imagecolorallocate ($im, 255, 255, 255);


$file_name='http://wasteland.spb.su:8080/status2.xsl';
$r=fopen($file_name,'r');
$text=fread($r,1000);
fclose($r);
$mass=explode(",", $text);
$current="track".$mass [16];

$font="ft.ttf"; //имя шрифта
$raz=100; //длина до обрезки

$mr=imagettfbbox (6,0, $font, $current);
    $pr=$mr[2];
    $ds=strlen($current);

    while ($pr >= $raz) {

        $current1=substr($current,0,$ds);
        $mr=imagettfbbox (6,0, $font, $current1);
        $pr=$mr[2];
        $ds=$ds-1;
    }
    if ($ds!=strlen($current)) {$currentr=$current1."...";}

imagettftext ($im, 6, 0, 15, 20, $color, $font,$current);
imagepng ($im);
imagedestroy ($im);
?>

Отредактировано Klef (26-11-2010 02:13:45)

-------------------------------
R244390603111<- пиво лить сюда

Re: Грфическая информация о станции (icecast2+php)

Большое Спасибо но у меня ничего не отображается!

как с wasterland`a так и с моего icecasta не пашет

Отредактировано Всё-просто (26-11-2010 13:41:35)

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

103

Re: Грфическая информация о станции (icecast2+php)

поправил, щяс  попробуй

-------------------------------
R244390603111<- пиво лить сюда

Re: Грфическая информация о станции (icecast2+php)

отображение появилось! ща попробую на длинных названиях

Добавлено спустя     8 минут   50 секунд:
Нет, выходит за рамки название всё равно!

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

Re: Грфическая информация о станции (icecast2+php)

ой сорри ща перепроверю... длинну обрезки забыл сменить!



нет! все равно не переносится!

Отредактировано Всё-просто (26-11-2010 14:04:28)

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

Re: Грфическая информация о станции (icecast2+php)

ну че, все попытки исчерпаны?

Сам придумал или из гугла скопировал?
========================================================================
FMGAMERADIO.RU - Уж както стараемся выделится big_smile

107

Re: Грфическая информация о станции (icecast2+php)

Ребят, а можно то что под айскаст делалось, оптимизировать под шоукаст и RadioBoss? а то вручную писать где надо
какой трек заколибало...   
правда скрипт для веб страницы знаю, но нужен именно юзербар.
А вот интерестно, можно скрестить юзербар с пхп в теле страницы?

108

Re: Грфическая информация о станции (icecast2+php)

можно все wink

109

Re: Грфическая информация о станции (icecast2+php)

Момогите плз разобраться. Скрипт должен отображать информацию  о слушателях с 2х маунтов, а отображает только с 1

<?php

$ip = "fm.asterios.tm";
$port = "8800";
$ice2_station = "Radio Asterios";

$success = 1;


$fp = fsockopen("$ip", $port, &$errno, &$errstr, 30); //open connection
if(!$fp) {
    $success=2; 



//edit html to fit your stations site, this display is for offline status
echo' <table>
     <tr>
        <td width="100%" colspan="2">
        <img border="0" src="images/offline.gif" width="22" height="22">
        <b><font face="Arial" size="2" color="#FF0000">'.$ice2_station.' is currently

offline</font></b></td>
      </tr>
</table>';
}




if($success!=2){ //if connection
fputs($fp,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla

Compatible)\r\n\r\n");
$page = '';
while(!feof($fp)) {
  $page .= fgets($fp, 1000);
}
fclose($fp); //close connection
$page = ereg_replace(".*<pre>", "", $page); //extract data
$page = ereg_replace("</pre>.*", ",", $page); //extract data

$numbers = explode(",",$page); //bomb it and extract data

$listeners = $numbers[3];
$listeners = $numbers[14];

echo "$listeners";
}


?>

110

Re: Грфическая информация о станции (icecast2+php)

для начала - не совсем в тему
и где вы тут в скрипте увидели два маунта?

111

Re: Грфическая информация о станции (icecast2+php)

$listeners = $numbers[3];
$listeners = $numbers[14];
Соответственно 3 - 128 , 14 - 64 не?

112

Re: Грфическая информация о станции (icecast2+php)

такой метод не очень хорош, ну допустим в вашем случае он работает, но скрипт кто так писал?
$listeners = $numbers[3]; - здесь присваиваем количество слушателей 1-го маунта
$listeners = $numbers[14]; - здесь присваиваем количество слушателей 2-го маунта переписывая значение 1-го.

конечно будет показывать только второго маунта, так что делать надо так как минимум
$listeners = $numbers[3] +  $numbers[14];
echo "$listeners";

113

Re: Грфическая информация о станции (icecast2+php)

Это логично, но все равно показывает значение только 1 маунта

114

Re: Грфическая информация о станции (icecast2+php)

хватит офтопить в ветке скрипты для icecast есть то что вам нужно

115

Re: Грфическая информация о станции (icecast2+php)

Перезалейте изображения

-----------------------------------------------------------------
http://starfm.kz/starfm.pnghttp://starfm.kz/starfm_play.png

116

Re: Грфическая информация о станции (icecast2+php)

изображения доступны, а вот радио пока нет, так что пусто в тексте smile

-------------------------------
R244390603111<- пиво лить сюда

117

Re: Грфическая информация о станции (icecast2+php)

пишет Psyhodelic:

<?php
$scdef = "your message";               
$scip = "IP";
$scport = "Порт";                  
$scpass = "Пароль"; 

$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 30);
 if(!$scfp) {
  $scsuccs=1;
echo''.$scdef.' is Offline'; 
 }
if($scsuccs!=1){
 fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
 while(!feof($scfp)) {
  $page .= fgets($scfp, 1000);
 }
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define  xml elements
 $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS", "MAXLISTENERS", "BITRATE", "ICQ", "AIM");
 $y=0;
 while($loop[$y]!=''){
  $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
  $scphp = strtolower($loop[$y]);
  $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
  if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
   $$scphp = urldecode($$scphp);

// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
  $y++;
 }
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
 $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
 $pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
 $songatime = explode("<SONG>", $pageed);
 $r=1;
 while($songatime[$r]!=""){
  $t=$r-1;
  $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
  $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
  $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
  $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
  $song[$t] = urldecode($song[$t]);
  $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
  $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
 }
//end song info
fclose($scfp);
}
  
header ("Content-type: image/png");
$im = ImageCreateFromPng("rj.png");
$color = imagecolorallocate ($im, 0, 0, 0);
imagettftext ($im, 8, 0, 20, 15, $color, "verdana.ttf", "On AIR: $servertitle");
imagettftext ($im, 8, 0, 20, 30, $color, "verdana.ttf", "Song: $song[0]");
imagettftext ($im, 8, 0, 20, 45, $color, "verdana.ttf", "Listeners: $currentlisteners");

imagepng ($im);
imagedestroy ($im);


?>

Ну как то так) Сразу скажу php тока начел изучать так что в скрипте много лишнего smile

пишет Psyhodelic:

<?php
$scdef = "your message";               
$scip = "IP";
$scport = "Порт";                 
$scpass = "Пароль";

$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 30);
if(!$scfp) {
  $scsuccs=1;
echo''.$scdef.' is Offline';
}
if($scsuccs!=1){
fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
while(!feof($scfp)) {
  $page .= fgets($scfp, 1000);
}
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define  xml elements
$loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS", "MAXLISTENERS", "BITRATE", "ICQ", "AIM");
$y=0;
while($loop[$y]!=''){
  $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
  $scphp = strtolower($loop[$y]);
  $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
  if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
   $$scphp = urldecode($$scphp);

// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
  $y++;
}
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
$pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
$pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
$songatime = explode("<SONG>", $pageed);
$r=1;
while($songatime[$r]!=""){
  $t=$r-1;
  $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
  $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
  $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
  $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
  $song[$t] = urldecode($song[$t]);
  $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
  $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
}
//end song info
fclose($scfp);
}
 
header ("Content-type: image/png");
$im = ImageCreateFromPng("rj.png");
$color = imagecolorallocate ($im, 0, 0, 0);
imagettftext ($im, 8, 0, 20, 15, $color, "verdana.ttf", "On AIR: $servertitle");
imagettftext ($im, 8, 0, 20, 30, $color, "verdana.ttf", "Song: $song[0]");
imagettftext ($im, 8, 0, 20, 45, $color, "verdana.ttf", "Listeners: $currentlisteners");

imagepng ($im);
imagedestroy ($im);


?>
Ну как то так) Сразу скажу php тока начел изучать так что в скрипте много лишнего

Все сделал, но почему-то весвечивает такие ошибки:
$streamstatus = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist
$bitrate = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist
$servertitle = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist
$currentlisteners = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist
$maxlisteners = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist
$bitrate = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist
$icq = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist
$aim = HTTP/1.0 400 Bad Request Content-Type: text/html Source does not exist

В чем причина? у меня стоит ICe Cast2.

118

Re: Грфическая информация о станции (icecast2+php)

2 CryNet
месье, вы неудачник

-------------------------------
R244390603111<- пиво лить сюда

119

Re: Грфическая информация о станции (icecast2+php)

пишет Klef:

2 CryNet
месье, вы неудачник

а если без оскорблений. я на полном серъезе в чем проблема? пробывал вставлял ваш код, который на 1 странице написан, то ничего нет.. не высвечивает ни единой троки.. php работает.. вся база исправна..

120

Re: Грфическая информация о станции (icecast2+php)

пишет CryNet:

пишет Klef:

2 CryNet
месье, вы неудачник

а если без оскорблений. я на полном серъезе в чем проблема? пробывал вставлял ваш код, который на 1 странице написан, то ничего нет.. не высвечивает ни единой троки.. php работает.. вся база исправна..

скрипт который вы "процитировали" для shoutcast сервера. Насчет моего скрипта рекомендую пройтись по всем пунктам, по порядку, для поиска ошибки.

-------------------------------
R244390603111<- пиво лить сюда

121

Re: Грфическая информация о станции (icecast2+php)

пишет Klef:

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

никаких ошибок самое интересное что и не пишет(( такое ощущение что просто нет отображения строк

122

Re: Грфическая информация о станции (icecast2+php)

shoutcast какой версии?

123

Re: Грфическая информация о станции (icecast2+php)

пишет tarasian666:

shoutcast какой версии?

у меня IceCast 2

124

Re: Грфическая информация о станции (icecast2+php)

так какого ... вы берете скрипт для shoutcast ??

пишет Klef:

месье, вы неудачник

125

Re: Грфическая информация о станции (icecast2+php)

пишет tarasian666:

так какого ... вы берете скрипт для shoutcast ??

читайте ниже