'.$station . ' - ' . $song; echo $output; endif; endif; function PjsTagsSong($sURL) { $aPathInfo = parse_url($sURL); $sHost = $aPathInfo['host']; $sPort = empty($aPathInfo['port']) ? 80 : $sPort = $aPathInfo['port']; $sPath = empty($aPathInfo['path']) ? '/' : $sPath = $aPathInfo['path']; $fp = fsockopen($sHost, $sPort, $errno, $errstr, "1"); if (!$fp): fclose($fp); return PjsTagsTitle($sURL); else: fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: Mozilla\r\n\r\n"); while (!feof($fp)): $info = fgets($fp); endwhile; $info = str_replace('', "", $info); $info = str_replace('', "", $info); $stats = explode(',', $info); if (empty($stats[1])): fclose($fp); return PjsTagsTitle($sURL); else: if ($stats[1] == "1"): $song = $stats[6]; $listeners = $stats[0]; $max = $stats[3]; $bitrate = $stats[5]; $peak = $stats[2]; return PjsTagsUTF($song); else: fclose($fp); return PjsTagsTitle($sURL); endif; endif; endif; } function PjsTagsTitle($sURL) { $aPathInfo = parse_url($sURL); $sHost = $aPathInfo['host']; $sPort = empty($aPathInfo['port']) ? 80 : $sPort = $aPathInfo['port']; $sPath = empty($aPathInfo['path']) ? '/' : $sPath = $aPathInfo['path']; $fp = fsockopen($sHost, $sPort, $errno, $errstr, 2); if (!$fp): return ""; else: fputs($fp, "GET $sPath HTTP/1.0\r\n"); fputs($fp, "Host: $sHost\r\n"); fputs($fp, "Accept: */*\r\n"); fputs($fp, "Icy-MetaData:1\r\n"); fputs($fp, "Connection: close\r\n\r\n"); $char = ""; $info = ""; while (!strpos($input, "StreamTitle")) { if (@feof($fp) || @ftell($fp) > 300000) { //max 366kb exit; } $char = @fread($fp, 16); $input .= $char; } $input .= @fread($fp, 255); $startstr = "StreamTitle='"; $endstr = "';"; $start = strpos($input, $startstr); $subinput = substr($input, $start + strlen($startstr)); $end = strpos($subinput, $endstr); fclose($fp); $output = substr($subinput, 0, $end); return PjsTagsOut($output); endif; } function PjsTagsStation($sURL) { $aPathInfo = parse_url($sURL); $sHost = $aPathInfo['host']; $sPort = empty($aPathInfo['port']) ? 80 : $sPort = $aPathInfo['port']; $sPath = empty($aPathInfo['path']) ? '/' : $sPath = $aPathInfo['path']; $fp = fsockopen($sHost, $sPort, $errno, $errstr, 2); if (!$fp): return ""; else: fputs($fp, "GET $sPath HTTP/1.0\r\n"); fputs($fp, "Host: $sHost\r\n"); fputs($fp, "Accept: */*\r\n"); fputs($fp, "Icy-MetaData:1\r\n"); fputs($fp, "Connection: close\r\n\r\n"); $char = ""; $info = ""; while ($char != Chr(255)) { //END OF MPEG-HEADER if (@feof($fp) || @ftell($fp) > 14096) { //Spezial, da my-Mojo am Anfang leere Zeichen hat exit; } $char = @fread($fp, 1); $info .= $char; } fclose($fp); $info = str_replace("\n", "", $info); $info = str_replace("\r", "", $info); $info = str_replace("\n\r", "", $info); $info = str_replace("
", "", $info); $info = str_replace(":", "=", $info); $info = str_replace("icy", "&icy", $info); $info = strtolower($info); parse_str($info, $output); if ($output['icy-br'] != "") { $streambitrate = intval($output['icy-br']); } if ($output['icy-name'] == "") { return ""; } else { return PjsTagsOut($output['icy-name']); } endif; } function PjsTagsOut($str) { global $WIN1251; $str = str_replace("- 0:00", "", $str); $WIN1251 == 1 ? $str = mb_convert_encoding($str, "UTF-8", "windows-1251") : ''; return $str; } ?>