웹마스터 팁

제목_없음.jpg
http://csdj4u.com/listen.plshttp://csdj4u.com/listen.php머 윈엠프 리스트창에 방송정보 나오게 하는걸 가끔 물어보시는분들이 계시는데
그래서 한번 만들어 봤습니다. 예전에 엔지오에 올라온 소스이죠
아 그리고 필요 없는 명령문들이 들어 가 있습니다만..
필요 없는게 아님니다. 나중에 방송정보 출력시 바로 쓸수도 있고 해서
이렇게 같이 넣어 놨습니다만.. 그렇타고 에러나 오류 나는거 전혀 없습니다.

자그럼 대충 한번 설명해 보겠습니다.
설명이 허접하더라도 이해를 하시길;;

먼저 아래의 소스를 복사하신 다음
status.inc.php3 <----이렇게 php파일을 하나 생성해 줌니다.


// 여기서 부터 
 
<?php
/*
GetSCStatus ver 0.2 for SC 1.7
Coded by ZeFyr@ZeZZ
2000/09/17
팀제쯔로 유명한 서풍님의 원초 소스를 수정
*/

function GetSCStatus($host,$port) {
        $fp = fsockopen($host, $port, &$errno, &$errstr, 5);
        if($fp) {
                fputs($fp,"GET /index.html HTTP/1.0n");
                fputs($fp,"User-Agent: Mozilla/4.0n");
                fputs($fp,"n");
                while(!feof($fp)) {
                        $contents .= fgets($fp,128);
                }
                fclose($fp);

                if(eregi("Server is currently down",$contents)) $onair = 0;
                else $onair = 1;
                
                if($onair) {        
                        $contents = substr($contents,strpos($contents,"Stream is up at")+16);
// 를 앞부분에 붙이신 것들은 사용하지 않습니다.
// 한줄이 띄어서 쓰인 부분이 각값들을 찾는 부분입니다.
// 쓰지 않는 값들은 주석으로 막으시기 바랍니다.                        
                        $rtn["format"] = ereg_replace("^([0-9]+) kbps(.+)$","1",$contents);
                        
                        $contents = substr($contents,strpos($contents,"with <B>")+8);
                        $listeners = substr($contents,0,strpos($contents,"unique"));
                        $listeners = ereg_replace("([[:space:]])+",":",trim(ereg_replace("[^[:digit:]]"," ",$listeners)));
                        $listeners = split(":",$listeners);
                        
                        $rtn["listeners"] = $listeners[0];
                        $rtn["listenersmax"] = $listeners[1];
                        $rtn["uniquelisteners"] = $listeners[2];
                        $lpeak = substr($contents,strpos($contents,"Listener Peak:")+54);
                        $rtn["listenerpeak"] = substr($lpeak,0,strpos($lpeak,"</b>"));
                        
                        $alt = substr($contents,strpos($contents,  "Average Listen Time:")+60);
                        $alt = substr($alt,0,strpos($alt,"</b>"));
                        $rtn["avglistentime"] = $alt;
                        
                        $title = substr($contents,strpos($contents,"Stream Title:")+53);
                        $rtn["title"] = substr($title,0,strpos($title,"</b>"));
                
                        $genre = substr($contents,strpos($contents,"Stream Genre:")+53);
                        $rtn["genre"] = substr($genre,0,strpos($genre,"</b>"));

// 예를 들어 다음의 세줄을 // 로 막으시면 URL이 값에 포함되지 않습니다.
// URL을 쓰지 않으시는 분께는 그만큼의 속도가 절약됩니다.
                        $url = substr($contents,strpos($contents,"Stream URL:")+51);
                        $url = substr($url,0,strpos($url,"</b>"));
                        $rtn["url"] = ereg_replace("<a href="(.+)">(.+)</a>","1",$url);        
        
                        if(ereg("Stream ICQ:",$contents)) {
                                $icq = substr($contents,strpos($contents,"Stream ICQ:")+51);
                                $icq = substr($icq,0,strpos($icq,"</b>"));
                                $rtn["icq"] = ereg_replace("<a href="http://wwp.icq.com/scripts/contact.dll?msgto=(.*)">(.+)","1",$icq);
                        }                

                        $aim = substr($contents,strpos($contents,"Stream AIM:")+51);
                        $aim = substr($aim,0,strpos($aim,"</b>"));
                        $rtn["aim"] = urldecode(ereg_replace("<a href="aim:goim?screenname=(.*)">(.+)","1",$aim));
                        
                        $irc = substr($contents,strpos($contents,"Stream IRC:")+51);
                        $irc = substr($irc,0,strpos($irc,"</b>"));
                        $rtn["irc"] = ereg_replace("<a href="http://www.shoutcast.com/chat.phtml?dc=(.*)">(.+)","1",$irc);
                        $rtn["irc"] = urldecode(urldecode($rtn["irc"]));
                        
                        $song = substr($contents,strpos($contents,"Current Song:")+53);
                        $rtn["song"] = substr($song,0,strpos($song,"</b>"));
                        
                        $rtn["status"] = 1;
                }
                else {
                        $rtn["status"] = 0;
                }
        }
        else {
                $rtn["status"] = -1;
        }
        return $rtn;
}
?>

// 여기까지 복사 하셔서 status.inc.php3 이렇게 하나 만들어 주세요

그리고 아래소스 역시 복사 해서

listen.php 이렇게 php파일을 생성해 줌니다.

//여기서 부터
<? include ('status.inc.php3'); ?>

<?
$status = GetSCStatus('$host','$port'); if ($status[status] == 1){echo '';} else {echo '지금은 방송중이지 않습니다. 방송스케줄을 확인해주세요.';}
$str = "[playlist]n
numberofentries=4n
File1=http://$host:$portn
Title1=습관되면 좋은방송 - CsDJ4u.Com[SERVER #1]n
Length1=-1n
File2=http://$host:$portn
Title2=방송진행 : $status[aim]n
Length2=-1n
File3=http://$host:$portn
Title3=방송타이틀 : $status[title]n
Length3=-1n
File4=http://$host:$portn
Title4=접속시청취자 : $status[listeners]명n
Length4=-1n
Version=2n";
$fp = fopen("listen.pls", "w");
fputs($fp, $str, strlen($str));
fclose($fp);
?>
// 여기까지 복사해서 listen.php 이렇게 하나 만들어 주시면 됨니다.
listen.php 이 소스를 만들지 전에 수정해야 할것들이 있습니다
$host:$port <~이렇게 된것들이 여러개 있습니다.
이것을 방송주소로 바꿔 주신후에 저장하세요

저희 방송주소를 예로 들겠습니다
$host:$port <===이부분을  
cj4u.com:800 <====요렇게 바꿔주시면 됨니다.
그럼 2개의 파일이 생성되었습니다.
계정에 업로드 하세요

그리고 http://홈피주소/listen.php 이렇게 실행해 주세요
그럼 listen.pls 파일이 생성 되는것을 알수 있습니다.
그다음 확인을 해봐야 겠죠 ?
http://홈피주소/listen.pls 이렇게 해서 방송을 들어 봄니다.
아마 잘따라 하신분들은 잘되실꺼라 믿습니다.

디렉토리의 권한을 변경해서 쓰세요... 파일을 쓸 수 있도록...
...cron인가 뭔가를 써서 일정한 시간마다 자동으로 만들 수도 있다고 하던데
자체서버가 없는 이상 좀 힘들겠죠...

머 미리 보기를 보자면;;
http://csdj4u.com/listen.php
http://csdj4u.com/listen.pls
제가 사용하고 있는걸 보면 되겠죠 ?

머 나머지는 알아서 응용하세요.
아여기서 잠깐 위의 두소스는 같은 위치에 올리셔야 합니다.

추가적은 설명 필요 없을꺼라 봄니다.
나머지는 알아서 응용해서 쓰세요 ;;; 그럼 이만 ....

혹시 질문이 있으시다면 제홈피를 통해서 해주세요

홈피 : http://csdj4u.com




제목 글쓴이 날짜
용인오피 ⦑출장마사지안내.COM⦒ 용인오피 용인OP 용인건마 용인오피 koykoyah 2025.02.21
신도림오피 ⦑오피.CLUB⦒ 신도림OP 신도림오피 신도림출장샵 신도림오피 koykoyah 2025.02.21
신림오피 ⦑출장마사지안내.COM⦒ 신림OP 신림오피 신림출장샵 신림오피 koykoyah 2025.02.21
익산오피 ⦑오피쓰주소.COM⦒ 익산OP 익산오피 익산출장샵 익산오피 koykoyah 2025.02.21
신도림오피 신도림오피 ⦑오피사이트.NET⦒ 신도림OP 신도림스파 신도림오피 koykoyah 2025.02.21
천안오피 ⦑출장안마사이트.COM⦒ 천안오피 천안출장마사지 천안오피 천안OP koykoyah 2025.02.21
대구오피 ⦑오피.CLUB⦒ 대구OP 대구오피 대구출장샵 대구오피 koykoyah 2025.02.21
천안오피 천안출장안마 ⦑오피사이트.NET⦒ 천안OP 천안오피 천안오피 koykoyah 2025.02.21
광주오피 ⦑오피쓰.COM⦒ 광주OP 광주오피 광주출장샵 광주오피 koykoyah 2025.02.21
강동오피 강동출장안마 ⦑출장안마사이트.COM⦒ 강동OP 강동오피 강동오피 koykoyah 2025.02.21
서면오피 ⦑오피쓰주소.COM⦒ 서면OP 서면오피 서면출장샵 서면오피 koykoyah 2025.02.21
영등포오피 영등포OP ⦑오피사이트.NET⦒ 영등포휴게텔 영등포오피 영등포오피 koykoyah 2025.02.21
동대문오피 ⦑출장안마사이트.COM⦒ 동대문오피 동대문출장마사지 동대문오피 동대문OP koykoyah 2025.02.21
영등포오피 ⦑출장안마사이트.COM⦒ 영등포마사지 영등포오피 영등포오피 영등포OP koykoyah 2025.02.21
서초오피 서초OP ⦑오피.CLUB⦒ 서초휴게텔 서초오피 서초오피 koykoyah 2025.02.21
울산오피 울산OP ⦑출장마사지안내.COM⦒ 울산휴게텔 울산오피 울산오피 koykoyah 2025.02.21
인천오피 ⦑출장안마사이트.COM⦒ 인천오피 인천출장마사지 인천오피 인천OP koykoyah 2025.02.21
강동오피 ⦑출장안마사이트.COM⦒ 강동OP 강동오피 강동출장샵 강동오피 koykoyah 2025.02.21
부천오피 부천오피 ⦑출장안마사이트.COM⦒ 부천OP 부천스파 부천오피 koykoyah 2025.02.21
남양주오피 ⦑출장마사지안내.COM⦒ 남양주오피 남양주OP 남양주건마 남양주오피 koykoyah 2025.02.21