São 03:41 da manhã, não to com paciência pra durmir e nem tenho coragem de ir ficar na frente de casa vendo o povo se matar.
Então resolvi fazer algo útil. =] O sistema foi feito por mim, a idéia foi minha também (Já fiz vários sisteminhas desses).
Pra quem usa o ShoutCast pode até ser últil mesmo.
------------------------------------
...... Requisitos
... Servidor com suporte a PHP
... ShoutCast
... Uma música tocando
------------------------------------
Arquivos de Configuração
... Crie um arquivo no seu servidor, com o nome n_conf.php e bote o seguinte texto nele:
<?php /* * n_conf.php @ Seg, 22 mai 2006 - 03:58 Am * Por JoinTek - Jointekbr@hotmail.com */ /* * Antes de tudo, devemos definir o IP do servidor ShoutCast. * É onde o sistema vai conectar para pegar os dados dele. * * Se o servidor ShoutCast estiver na mesma máquina que este sistema * Basta colocar: localhost ou 127.0.0.1 * NÃO SE DEVE USAR O http:// */ $host["addr"] = "000.000.000.000"; /* * Agora vamos definir a porta do ShoutCast * * Padrão: 8000 */ $host["port"] = "8000"; /* * Senha do administrador do ShoutCast * * Se você não lembra, abra o arquivo SC_SERV.ini que fica na pasta do shoutcast * e procure pela linha: * Password: blablabla */ $host["pwdr"] = "changeme"; /* * Agora vamos definir o tempo de espera que a conexão deve aguardar * antes de mostrar "Fora do Ar" quando o servidor estiver off-line * * Padrão: 5 * Aconselho: 10 */ $host["tout"] = "5"; /* * Não mude nada a partir daqui. */ //Functions... function GetBw($sVar, $eVar, $jVar) { $str = '/'.$sVar.'(.*?)'.$eVar.'/'; preg_match($str, $jVar, $rst); return $rst[1]; } ?>
------------------------------------
Sistema
... Crie um arquivo no seu servidor, com o nome música_atual.php e bote o seguinte texto nele (não mude nenhuma letra):
<? @require("n_conf.php"); $relay["open"] = fsockopen($host["addr"], $host["port"], $en, $es, $host["tout"]); if ($relay["open"]) { fputs($relay["open"], "GET /admin.cgi?mode=viewxml&page=1&pass=".$host["pwdr"]." HTTP/1.1\nUser-Agent:Mozilla\n\n"); $relay["read"] = fread($relay[open], "99999"); if (eregi("<SONGTITLE>", $relay["read"])) { echo "Música Atual: "; echo '<b>'.GetBw("<SONGTITLE>","<SONGTITLE2>",str_replace("</SONGTITLE>","<SONGTITLE2>",$relay["read"])).'</b>'; echo "<BR>"; } if (eregi("<ICQ>", $relay["read"])) { echo "Locutor Atual: "; echo '<b>'.GetBw("<ICQ>","<ICQ2>",str_replace("</ICQ>","<ICQ2>",$relay["read"])).'</b>'; echo "<BR>"; } if (eregi("<AIM>", $relay["read"])) { echo "Programa do Momento: "; echo '<b>'.GetBw("<AIM>","<AIM2>",str_replace("</AIM>","<AIM2>",$relay["read"])).'</b>'; echo '<BR>'; } echo '<BR><b class="head">Escute Agora! <a href="http://'.$host["addr"].':'.$host["port"].'/listen.pls">Clique Aqui</a>.</b>'; } else { echo '<BR><b class="head">Estamos Temporáriamente Off-Line :(</b><BR><BR> '; } ?>
------------------------------------
Método de Ultilização
... Na hora de configurar o source do Winamp, no lugar do AIM você bota o nome do programa e no ICQ você bota o nome do locutor, aí é só botar uma música pra tocar e abrir a página http://www.seusite.c...usica_atual.php
------------------------------------

Dúvidas, problemas ou sugestões é só postar.
Atenção..
Não coloque HTTP:// na variavel do host, se não o script não vai funcionar.
------------------------------------
Changelog
* 25/05/2008 : Alguns erros básicos no script foram consertados.
[]'s
Edição feita por: JoinTek, 25/05/2008, 20:09.