bela Opublikowano 15 Czerwca 2020 Udostępnij Opublikowano 15 Czerwca 2020 (edytowane) 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 Edytowane 15 Czerwca 2020 przez bela Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kosti Opublikowano 16 Czerwca 2020 Udostępnij Opublikowano 16 Czerwca 2020 Zależy w jakiej wersji masz serwer, jeżeli v2 to TE będą odpowiednie. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bela Opublikowano 17 Czerwca 2020 Autor Udostępnij Opublikowano 17 Czerwca 2020 (edytowane) 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 ? Edytowane 17 Czerwca 2020 przez bela Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kosti Opublikowano 18 Czerwca 2020 Udostępnij Opublikowano 18 Czerwca 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bela Opublikowano 19 Czerwca 2020 Autor Udostępnij Opublikowano 19 Czerwca 2020 (edytowane) 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. Edytowane 19 Czerwca 2020 przez bela Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kosti Opublikowano 19 Czerwca 2020 Udostępnij Opublikowano 19 Czerwca 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bela Opublikowano 22 Czerwca 2020 Autor Udostępnij Opublikowano 22 Czerwca 2020 (edytowane) 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 Edytowane 22 Czerwca 2020 przez bela Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kosti Opublikowano 22 Czerwca 2020 Udostępnij Opublikowano 22 Czerwca 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bela Opublikowano 23 Czerwca 2020 Autor Udostępnij Opublikowano 23 Czerwca 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kosti Opublikowano 24 Czerwca 2020 Udostępnij Opublikowano 24 Czerwca 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bela Opublikowano 25 Czerwca 2020 Autor Udostępnij Opublikowano 25 Czerwca 2020 (edytowane) 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" Edytowane 25 Czerwca 2020 przez bela Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kosti Opublikowano 28 Czerwca 2020 Udostępnij Opublikowano 28 Czerwca 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bela Opublikowano 2 Lipca 2020 Autor Udostępnij Opublikowano 2 Lipca 2020 (edytowane) 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? Edytowane 3 Lipca 2020 przez bela Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kosti Opublikowano 3 Lipca 2020 Udostępnij Opublikowano 3 Lipca 2020 Jakiś czas temu używałem tych z JQuery do V2.https://github.com/Wavestreaming/jquery-shoutcast Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.