웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
![제목_없음.jpg](/files/attach/images/19360725/990/375/019/제목_없음.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
[허접팁]윈엠프 리스트창에 방송정보 보여주기;;[수정]
2004.02.29 07:34
![제목_없음.jpg](/files/attach/images/19360725/990/375/019/제목_없음.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
댓글 5
-
まんじ
2004.02.29 18:28
-
『처니리♂』
2004.02.29 21:42
무슨 말씀인지 ?
그거랑 이거랑 먼상관이 있다고;;;;;
이건 윈엠프 방송 리스트에 방송정보를 보여 주는검니다. -
TaeBBAng★
2004.03.01 16:13
status.inc.php3 소스에서 바뀐게 있나요 ㅇ_)?
기존소스로도 되는지 궁금하네요. -
『처니리♂』
2004.03.01 20:05
기존소스 그대로죠
예전 소스 그래도 사용하셔도 됨니다. -
쓸쓸한달빛
2004.03.04 01:45
『처니리♂』// 플레이 리스트에 여러개의 음악방송을 넣은다음 들을경우를 말씀하시는거 같네요..;;
저려면 한방송이 맣은 항목을 차지하니.... (머 지우면되는데 ;;);;
제목 | 글쓴이 | 날짜 |
---|---|---|
[초허접기초] 하드디스크 용량을 구해보자..!! [13] | SeePaGae | 2004.01.24 |
제로 카운터 ip 체크형에서 쿠키 체크 형으로 바꾸기 [8] | 정재원 | 2004.01.27 |
이미지 업로드시 자동으로 섬네일 이미지 만들어 주기 [2] | 장정식 | 2004.02.02 |
많은 txt파일 db에 한번에 저장시키기 -_-;;(별 내용없으나 필요하신분은 보세요) [1] | 추천대화상대 | 2004.02.11 |
cd키랑 비슷한거 만들기 -_-;; [12] | 추천대화상대 | 2004.02.11 |
간단한 랜덤 게시물 구하는 간단한 소스입니다. [5] | NS | 2004.02.12 |
[허접팀]랜덤 이미지 불러오기( +_+)/" [9] | 『처니리♂』 | 2004.02.12 |
한꼬마의 제로보드 활용법 (게시물 추출하기) [4] | 한꼬마 | 2004.02.17 |
HTML,이미지,동영상 파일 열리지 않고 다운로드되도록 만들기(수정) [21] | TheMics | 2004.02.19 |
여러 DB에서 최근 게시물 추출하기 위한 소스 입니다. [6] | NS | 2004.02.21 |
폴더에 사진올려놓고 리스트자동으로 만들기 [7] | 김인기 | 2004.02.22 |
[허접팁]윈엠프 리스트창에 방송정보 보여주기;;[수정]
[5]
![]() | 『처니리♂』 | 2004.02.29 |
초간단 인라이브 방송여부 알아보기 프로그램. [12] | 심심타 | 2004.03.01 |
함수] Exec 함수에 대한 간략한 설명 [3] | NS | 2004.03.05 |
PHP와 MYSQL연동 관련함수 [3] | 백무혼 | 2004.03.07 |
드디어 PHP 5 RC1 발표(04.03.18) [8] | 써니루루☆ | 2004.03.19 |
배열의 정렬에 대한 약간의 강의 [2] | ♡다솜지기♡ | 2004.04.02 |
[국에 밥말아먹는 PHP 프로그래밍] 1-1. PHP는 뭐하는 밥이냐?! (상) (Build 2) [17] | 9000㎒ | 2004.04.18 |
트랙백 구현하기 - 1. 트랙백이란 무엇인가?
[4]
![]() | TheMics | 2004.04.18 |
엔지오 채널 따라하기 -_-& www자동 붙이기 [6] | 박종찬 | 2004.04.18 |
저같은경우네는 24시간 음악방송 나오는 방송주소 쫘르륵 재생리스트 만들어서 랜덤으로 듣고 있거든요.