bela 2 Napisano Czerwiec 15, 2020 Share Napisano Czerwiec 15, 2020 (edytowany) Witam ktoś posiada kod php łapiący status servera? Dlaczego mam tak że jeden server nie wyświetla żadnych danych? w 2 kody php działają takie jak historia, tytuł, ilość słuchaczy . Najlepiej jakby samemu dało się ustawić co ma się wyświetlać kiedy server jest off / on Edytowano Czerwiec 15, 2020 przez bela Cytuj Link to postu Udostępnij na innych stronach
kosti 12 Napisano Czerwiec 16, 2020 Share Napisano Czerwiec 16, 2020 Zależy w jakiej wersji masz serwer, jeżeli v2 to TE będą odpowiednie. Cytuj Link to postu Udostępnij na innych stronach
bela 2 Napisano Czerwiec 17, 2020 Autor Share Napisano Czerwiec 17, 2020 (edytowany) hmmm ciężko powiedzieć ponieważ nie mam dostępu do panelu admina a mówiłem dla kolegi żeby dal ostatnio na v1 bo chciałem zobaczyć czy moje bd działać ale nic to nie dało.... zmieniłem $stats = new shoutcast2stats('sonic.portalfoxmix.cl', 4458); i pokazuje się samo 0 http://consciousness.hekko24.pl/xxx.php Tak sobie mysle ze moze adres servera zly podaje? Wpisałem ten sam który jest do laczenia sie przez winamp.... Posiadasz jakieś kod radio off / on php dla V1 ? Edytowano Czerwiec 17, 2020 przez bela Cytuj Link to postu Udostępnij na innych stronach
RUFI 3 Napisano Czerwiec 18, 2020 Share Napisano Czerwiec 18, 2020 Pod adresem https://sonic.portalfoxmix.cl:4458/ nie ma serwera shoutcast Cytuj Link to postu Udostępnij na innych stronach
kosti 12 Napisano Czerwiec 18, 2020 Share Napisano Czerwiec 18, 2020 Pogrzebałem trochę w Twojej stronie i znalazłem serwer http://s8.myradiostream.com:7882/ Jest to SHOUTcast Server Version 1.9.8. Miałem gdzieś kod tych statystyk, ale on nie będzie działał z najnowszą wersją PHP. Polecam przeniesienie się na Shoutcast v2. Cytuj Link to postu Udostępnij na innych stronach
bela 2 Napisano Czerwiec 19, 2020 Autor Share Napisano Czerwiec 19, 2020 (edytowany) Dnia 18.06.2020 o 16:35, RUFI napisał: Pod adresem https://sonic.portalfoxmix.cl:4458/ nie ma serwera shoutcast jest pod adresem bez tych portów. Przecież łącze sie z nim podając dane. https://sonic.portalfoxmix.cl:2083/widgets/player/?p=8446&type=shark Tak stara wersja bo to radio darmowe i nie da się nowszej. Wersje php zawsze można zmienić na starsza Dalej czekam na odp. od kolegi. Edytowano Czerwiec 19, 2020 przez bela Cytuj Link to postu Udostępnij na innych stronach
kosti 12 Napisano Czerwiec 19, 2020 Share Napisano Czerwiec 19, 2020 <?php $ip='s8.myradiostream.com'; //IP/Host serwera shoutcast $port='7882'; $sc[table1] = "<b>[dj][status]</b>"; $sc[table2] = "<b>[audycja][status]</b>"; $sc[table3] = "<b>[nuta][status]</b>"; $sc[table4] = "<b>[ile]</b>"; if ($fp = @fsockopen($ip , $port)) { fputs($fp,"GET /index.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n"); fgets($fp);fgets($fp);fgets($fp); while(!feof($fp)) $in.=strip_tags(fgets($fp)); fclose($fp); # echo $in; // [status] $m[0]="Server is currently"; $m[1]=""; $mp[0]=strpos($in,$m[0]); $mp[1]=@strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , 5 ) ) ); if( $tmp[1][0] == "up" ) $dat[status] = ""; elseif( $tmp[1][0] == "down" ) $dat[status] = "Aktualnie nie nadajemy"; else $dat[status] = "Złe ustawienia programu"; if($dat[status]=="") { // [audycja] $m[0]="Stream Title:"; $m[1]="Content Type:"; $mp[0]=strpos($in,$m[0]); $mp[1]=strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) ); if( $tmp[1] ) $dat[audycja] = $tmp[1]; else $dat[audycja] = "Złe ustawienia programu"; // [dj] $m[0]="Stream Genre:"; $m[1]="Stream URL:"; $mp[0]=strpos($in,$m[0]); $mp[1]=strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) ); if( $tmp[1] ) $dat[dj] = $tmp[1]; else $dat[dj] = "Złe ustawienia programu"; // [statyw] $m[0]="Stream AIM:"; $m[1]="Stream IRC:"; $mp[0]=strpos($in,$m[0]); $mp[1]=strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) ); if( $tmp[1] ) $dat[statyw] = $tmp[1]; else $dat[statyw] = "pilot"; // [gg] $m[0]="Stream ICQ:"; $m[1]="Stream AIM:"; $mp[0]=strpos($in,$m[0]); $mp[1]=strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) ); if( $tmp[1] ) $dat[gg] = $tmp[1]; else $dat[gg] = "Złe ustawienia programu"; // [ile] $m[0]="kbps with"; $m[1]="listeners"; $mp[0]=strpos($in,$m[0]); $mp[1]=strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) ) ); if( $tmp[1] ) $dat[ile] = $tmp[1][0]; else $dat[ile] = "Złe ustawienia programu"; // [peak] $m[0]="Listener Peak:"; $m[1]="Average"; $mp[0]=strpos($in,$m[0]); $mp[1]=strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-7) ); if( $tmp[1] ) $dat[peak] = $tmp[1]; else $dat[peak] = "Złe ustawienia programu"; // [nuta] $m[0]="Current Song:"; $m[1]="Written by Ste"; $mp[0]=strpos($in,$m[0]); $mp[1]=strpos($in,$m[1]); $ml[0]=strlen($m[0]); $ml[1]=strlen($m[1]); $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) ); if( $tmp[1] ) $dat[nuta] = $tmp[1]; else $dat[nuta] = "Złe ustawienia programu"; } } else { $dat=array(); $dat[status]="Serwer Wyłaczony"; } $co = array('[status]','[audycja]','[dj]','[statyw]','[gg]','[ile]','[peak]','[nuta]'); $naco = array($dat[status],$dat[audycja],$dat[dj],$dat[statyw],$dat[gg],$dat[ile],$dat[peak],$dat[nuta]); $sc[table1] = str_replace($co,$naco,$sc[table1]); $sc[table2] = str_replace($co,$naco,$sc[table2]); $sc[table3] = str_replace($co,$naco,$sc[table3]); $sc[table4] = str_replace($co,$naco,$sc[table4]); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Stata</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" /> <meta http-equiv="Refresh" Content="<? echo $czas; ?>; URL=?" /> <style type="text/css"> #cale { width: 255px; height: 115px; display: block; background: transparent; position: relative; color: White; font-family: Tahoma, Geneva, sans-serif; font-size: 12px; font-weight: bold; text-shadow: 2px 2px 2px #0033FF; } #kto { position : absolute; left: 5px; top: 0px; width: 265px; } #audycja { position : absolute; left: 5px; top: 30px; width: 265px; } #nuta { position : absolute; left: 5px; top: 60px; width: 265px; } </style> </head> <body> <div id="cale"> <div id="kto"> Prezenter: <marquee align="middle" direction="left" behavior="scroll" truespeeed="truespeeed" scrollamount="2" scrolldelay="30"> <? echo $sc[table1]; ?> </marquee> </div> <div id="audycja"> Audycja: <marquee align="middle" direction="left" behavior="scroll" truespeeed="truespeeed" scrollamount="2" scrolldelay="30"> <? echo $sc[table2]; ?> </marquee> </div> <div id="nuta"> Piosenka: <marquee align="middle" direction="left" behavior="scroll" truespeeed="truespeeed" scrollamount="2" scrolldelay="30"> <? echo $sc[table3]; ?> </marquee> </div> </div> </body> </html> Kawałek z mojego starego szablonu, spróbój na wersji PHP 5.2, powinno zatrybić. Dostosuj sobie CSS. Cytuj Link to postu Udostępnij na innych stronach
bela 2 Napisano Czerwiec 22, 2020 Autor Share Napisano Czerwiec 22, 2020 (edytowany) Ok dzięki jutro coś podziałam w tym kierunku. Ciekawy jestem czy zabuja 😛 Kolega przestawił SC na v2.5 i te statystyki nie działają http://consciousness.hekko24.pl/xxx.php co może być powodem? Wyświetla się 0 Edytowano Czerwiec 22, 2020 przez bela Cytuj Link to postu Udostępnij na innych stronach
kosti 12 Napisano Czerwiec 22, 2020 Share Napisano Czerwiec 22, 2020 Te, które Ci podałem są do V1.9.8, a wcześniej podawałem do v2. Pokaż cały kod, w jaki sposób jest to napisane. Cytuj Link to postu Udostępnij na innych stronach
bela 2 Napisano Czerwiec 23, 2020 Autor Share Napisano Czerwiec 23, 2020 Tak wiem że do v1 i powiem Ci że gdzieś z forum je już brałem. Działa z php 7.1 jednak nie przyda mi się bo nie ma tam zwykłej komendy on / off http://consciousness.hekko24.pl/radio/v1.php Kolegi kod i link http://consciousness.hekko24.pl/xxx.php <?php /** * SHOUTcast 2 statistics class * * @author PortalRadiowy.pl * @copyright 2016 PortalRadiowy.pl * @version 1.3 */ class shoutcast2stats { private $_ip; private $_port; private $_sid; private $_json; public function __construct($ip, $port, $sid=1) { $this->_ip = $ip; $this->_port = $port; $this->_sid = $sid; $this->initCurl(); } private function initCurl() { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://'.$this->_ip.':'.$this->_port.'/stats?sid='.$this->_sid.'&json=1'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (PortalRadiowy.pl)'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 3); $curl_exec = curl_exec($ch); $this->_json = ($curl_exec ? json_decode(iconv('UTF-8', 'UTF-8//IGNORE', $curl_exec)) : false); curl_close($ch); } public function get($name, $name_dj='') { if ($name == 'streamstatus') { if ($this->_json == false) { return 0; } elseif ($this->_json->streamstatus == 0) { return 1; } else { return 2; } } elseif (isset($this->_json->$name) && $name == 'dj' && !empty($name_dj)) { $dj_json = json_decode(substr(preg_replace('/\},[\s]*\{/', ',', preg_replace(array('/\([\s]*"/', '/"[\s]*\)/', '/"[\s]*,/'), array('{"', '"}', '":'), preg_replace_callback('/\\\\(\d+)/m', function($matches) { return iconv('Windows-1250', 'UTF-8//IGNORE', chr($matches[1])); }, $this->_json->dj))), 1, -1)); if (isset($dj_json->$name_dj)) { return htmlspecialchars($dj_json->$name_dj); } } elseif (isset($this->_json->$name)) { return htmlspecialchars($this->_json->$name); } return ''; } } /** * Inicjalizacja klasy: * ip-serwera - Zamień na adres IP swojego serwera SHOUTcast 2 * 8000 - Zamień na port swojego serwera SHOUTcast 2 * * Opcjonalnie: * Po argumencie z numerem portu, możesz wstawić argument z numerem streamu (kanału) sid, domyślnie: 1 * $stats = new shoutcast2stats('ip-serwera', 8000, 2); // Dla stream id: 2 */ $stats = new shoutcast2stats('sonic.portalfoxmix.cl', 4458); echo $stats->get('streamstatus'); // Informuje o stanie serwera: 0 - wyłączony, 1 - włączony (nikt nie nadaje), 2 - włączony (prowadzona jest transmisja) echo $stats->get('currentlisteners'); // Aktualna ilość słuchaczy echo $stats->get('uniquelisteners'); // Ilość unikalnych słuchaczy (zlicza na podstawie unikalnych adresów IP), wartość pola "Listener Peak" echo $stats->get('peaklisteners'); // Rekord słuchaczy (ta wartość resetuje się w momencie restartu serwera SHOUTcast 2) echo $stats->get('maxlisteners'); // Maksymalna ilość słuchaczy (ilość slotów) echo $stats->get('servertitle'); // Wyświetla wartość pola "Stream Name", czyli często uznawane jako "Nazwa audycji". Poprawnie powinno odpowiadać za nazwę radia. echo $stats->get('servergenre'); // Wyświetla wartość pola "Stream Genre(s)", czyli często uznawane jako "Nazwa prezentera". Poprawnie powinno odpowiadać za gatunki odgrywanej muzyki. echo $stats->get('songtitle'); // Wyświetla wartość pola "Playing Now", czyli nazwa aktualnie odgrywanego utworu lub teksty E-RDS. echo $stats->get('dj'); // Wyświetla wartość pola "dj" (pole dostępne tylko w statystykach). // UWAGA! Poniższe opcje są dostępne tylko do usług Auto DJ zakupionych w firmie Slotex.pl, jeżeli korzystasz z funkcjonalności "Live DJ". echo $stats->get('dj', 'icy-name'); // Wyświetla wartość pola "Name" wpisaną w programie do nadawania, czyli często uznawane jako "Nazwa audycji". echo $stats->get('dj', 'icy-genre'); // Wyświetla wartość pola "Genre" wpisaną w programie do nadawania, czyli często uznawane jako "Nazwa prezentera". Cytuj Link to postu Udostępnij na innych stronach
kosti 12 Napisano Czerwiec 24, 2020 Share Napisano Czerwiec 24, 2020 Te V2 nie działają ponieważ jest zły adres i/lub port. Już Ci RUFI pisał, że pod tym adresem nie znajduje się serwer SC. Cytuj Link to postu Udostępnij na innych stronach
bela 2 Napisano Czerwiec 25, 2020 Autor Share Napisano Czerwiec 25, 2020 (edytowany) Jakieś to powalone z tym serverem. Uzupełniłem plik php danymi za pomocą którymi łącze się z serverem wtyczką SHOUTcast DSP 2.3.5 . Zaraz dowiem się czy kolega ma jakiś inny adres ale szczerze kiepsko to widzę. Do V1 nie masz żadnego statusu prostego ? Tak żeby wyświetlił się "server włączony / server wyłączony" Edytowano Czerwiec 25, 2020 przez bela Cytuj Link to postu Udostępnij na innych stronach
kosti 12 Napisano Czerwiec 28, 2020 Share Napisano Czerwiec 28, 2020 $sc[table1] = "<b>Serwer Włączony</b>"; $sc[table2] = "<b>Serwer Włączony</b>"; $sc[table3] = "<b>Serwer Włączony</b>"; $sc[table4] = "<b>Serwer Włączony</b>"; Zmień tylko to, powinno działać. Cytuj Link to postu Udostępnij na innych stronach
bela 2 Napisano Lipiec 2, 2020 Autor Share Napisano Lipiec 2, 2020 (edytowany) kod v2 działa już dobrze http://consciousness.hekko24.pl/x.php Do łatwej informacji z servera off / on w v1 i v2 można użyć CURL ino trzeba pamiętać aby IP wyglądało tak na koniec sonic.portalfoxmix.cl:8446/7.html lub s8.myradiostream.com:7882/7.html (czyli port po ip i /7.html ) a kod to już np. <?php $online = "Online"; // Displays when stream is online $offline['server'] = "Offline"; // Displays when server is offline $offline['source'] = "Offline"; // Displays when server is online with no source $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "s8.myradiostream.com:7882/7.html"); curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); $data = curl_exec($ch); curl_close($ch); $data = str_replace('</body></html>', "", $data); $split = explode(',', $data); if (empty($data)) { $status = $offline['server']; } else { if ($split[1] == "0") { $status = $offline['source']; } else { $status = $online; } } echo $status; ?> Posiadasz może jakiś kod do song history na v2? Edytowano Lipiec 3, 2020 przez bela Cytuj Link to postu Udostępnij na innych stronach
kosti 12 Napisano Lipiec 3, 2020 Share Napisano Lipiec 3, 2020 Jakiś czas temu używałem tych z JQuery do V2.https://github.com/Wavestreaming/jquery-shoutcast Cytuj Link to postu Udostępnij na innych stronach
Polecane posty
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.