웹마스터 팁

http://morami.net/test_play/play_list.php시작 하기전에 본 팁은 phpschool 에서 트루님과 fguy님께서 써주신글을 참조로 하였음을 밝힙니다.

트루님과 fguy님께 실례가 되지 않았으면 하네요.

대충 읽다 보시면 어떤 내용인지 쉽게 감이 오시리라 생각됩니다.
일단 알고리즘은 이렇습니다.

1. 자바스크립트를 이용해 get 방식으로 play.php 로 필요한 정보들을 보냅니다.
2. 그럼 그 정보들을 받아 asx 재생 파일을 만든후 뿌려줌과 동시에 연주가 되는 것이죠.

간단하지요.

근데 주소를 숨긴다는 것이 무슨 말이냐고요.?

재생된 윈도우 미디어에서 파일 > 등록정보 > 위치 를 보시면 보통 음악의 asx나 asf 파일 주소 표시 됩니다.
하지만 위처럼 재생을 하게되면
http://morami.net/test_play/play.php?title=Snowfall&musician=Brian*Crain&fn=snowfall
이렇게 표시가 되지요..^^
뭐 별거 아닌거 같지만..-.- 필요로 하는 분이 계실거 같아서요.
이제 소스와 대략적인 설명을 드리겠습니다.

두개의 파일이 있습니다.
play_list,php (플레이 리스트 파일 입니다.)
play.php (재생에 필요한 파일입니다.)

play_list.php
-------------------------------------------------------------------------------------------------------
<script language=JavaScript>
function play(title,musician,fn)
{
        location.replace("play.php?title=" + title + "&musician=" + musician + "&fn=" + fn);
}
</script>
1. <a href=javascript:play('A*new*Day','Brian*Crain','a_new_day')>A New Day</a><br>
2. <a href=javascript:play('Ave*Maria','Brian*Crain','ave_maria')>Ave Maria</a><br>
3. <a href=javascript:play('Tenderness','Brian*Crain','tenderness')>Tenderness</a><br>
4. <a href=javascript:play('Snowfall','Brian*Crain','snowfall')>Snowfall</a>
-------------------------------------------------------------------------------------------------------
소스설명 :
javascript:play('A*new*Day','Brian*Crain','a_new_day')
'A*new*Day'  -> 음악의 제목을 적어 줍니다. 공백이 있을시 자스경고가 남으로 공백이 있을시 * 로 채워 줍니다.
'+ 'Brian*Crain'   -> 뮤지션을 적어 줍니다. 역시 공백이 있을시 * 로 채워 줍니다.
'a_new_day'   -> 확장자를 뺀 파일 이름을 적어 줍니다. a_new_day.asx 라면 a_new_day 만 적어주면 되지요.                          

위와 같은 식으로 반복해서 적어 주시면 됩니다.

이렇게 해서 제목을 클릭하면 자스에 play 함수를 호출해서 play.php로 변수를 넘겨 줍니다.
제목은 $title 라는 변수에 뮤지션은 $musician 이라는 변수 파일이름은 $fn 이라는 변수로 저장되어 넘겨 줍니다.



play.php
-------------------------------------------------------------------------------------------------------
<?
header("Content-type:audio/x-ms-wax");

$title = str_replace( '*', ' ',$title);
$musician = str_replace( '*', ' ',$musician);
$url="http://home.bcline.com/oxxin/".$fn.".asf";

echo "<asx version=3>";
echo "<BANNER FIXED HREF="http://morami.net/briancrain/orderplay/banner.gif">";
echo "<abstract>Brian Crain In nature [NewAge] </abstract>";
echo "<MoreInfo href = "http://morami.net/briancrain"/></BANNER>";
echo "<Title>morami's aroma</title>";
echo "<entry>";
echo "<title>$title</title>";
echo "<author>$musician</author>";
echo "<copyright>해당곡의 저작권자</copyright>";
echo "<moreinfo href="http://morami.net/briancrain" target="_blank"></moreinfo>";
echo "<ref Href="$url"/>";
echo "</entry>";
echo "</asx> ";
?>
-------------------------------------------------------------------------------------------------------
소스설명 :
$title = str_replace( '*', ' ',$title);
위에서 넘겨 받은 변수에서 제목과 뮤지션의 이름에 * 해주었던것을 str_replace 함수로 공백으로 바꿔줍니다.

$url="http://home.bcline.com/oxxin/".$fn.".asf";
넘겨 받은 $fn 파일 이름에 음악의 절대 경로와 합체? 해서 완성된 url 을 만듭니다.

이제 거의 끝났습니다.
asx 파일을 만들고 뿌려준후
header("Content-type:audio/x-ms-wax"); 로 윈도우 미디어 파일 타입이라는 것을 알립니다.

그러면 바로 윈도우 미디어 플레이어가 작동하며 재생이 됩니다.

되도록 쉽게 설명하려고 노력했는데 어떻게 이해가 되셨는지 모르겠습니다.

마지막으로 asx 파일 포맷에 대해서 설명 드리면서 마무리 질께요.


-------------------------------------------------------------------------------------------------------
echo "<asx version=3>";
echo "<BANNER FIXED HREF="http://morami.net/briancrain/orderplay/banner.gif">";
// 윈도우 미디어 재생시 하단에 보일 배너의 경로를 적어 줍니다.[수정하세요]

echo "<abstract>Brian Crain In nature [NewAge] </abstract>";
// 배너 위에 마우스를 올렸을때 풍선도움말에 들어갈 내용입니다. alt="" 와 같은 기능이지요.[수정하세요]

echo "<MoreInfo href = "http://morami.net/briancrain"/></BANNER>";
// 배너를 클릭했을때 이동할 경로를 적어주세요 자기 홈페이지 주소 적어주면 되겠지요. ^^ [수정하세요]

echo "<Title>morami's aroma</title>";
//보통 홈페이지 타이틀을 적어 줍니다. [수정하세요]

echo "<entry>";
echo "<title>$title</title>";
//제목 [수정하지 마세요..^^;]

echo "<author>$musician</author>";
//뮤지션 [수정하지 마세요..^^;]

echo "<copyright>해당곡의 저작권자</copyright>";
//카피라이트 수정하셔도 되지만 보통 이렇게들 하지요. 후후 ^^;

echo "<moreinfo href="http://morami.net/briancrain" target="_blank"></moreinfo>";
//재생되는 곡의 제목을 클릭하면 이동할 url 입니다.  홈페이지 주소를 적어주시면 됩니다.  [수정하세요]

echo "<ref Href="$url"/>";
// 음악의 경로 [수정하지 마세요..^^;]

echo "</entry>";
echo "</asx> ";
-------------------------------------------------------------------------------------------------------

이로써 너무나도 허무한 설명을 마치겠습니다.
이거 다아는거 아니냐고 돌던지시 마세요.
초보분들을 위해서 조금이나마 공부도 될겸해서 올린거니깐요.. -.-ㅣ

뭐 복잡하신분은 그냥 위에꺼 두 파일 복사하신후 경로만 대충 수정하시면 될겁니다.
확장을 하자면 db와 연동해서 할수도 있겠구요. 폴더나 카테고리도 적절히 만들 수 있으리라 사려됩니다.

더 궁금하신 점 있으시면 코멘트 달아 주시거나 제 홈페이지에 글남기셔도 괘안습니다.

제로보드와 안지 언 3년이군요... 지금 제로보드를 쓰고 있지만 않지만 난 언제 이런 게시판 한번 만들어보나
이런 맘으로 삽니다.^^;

그럼 조금이나마 많은  도움 되시길 모라미가 바랍니다.

미리보기 : http://morami.net/test_play/play_list.php
제목 글쓴이 날짜
[제로카운터 수정하기#4-초보용] 인트로에서 카운트 체크하고 메인에서 카운트 보여주기 [3] 김태훈 2003.01.22
NZEO 쪽지 수신 허용/거부 따라하기 ~(=ㅁ=)~ [12] teslaMINT 2003.01.28
제로보드 코멘트 수정 기능 구현!! [13] teslaMINT 2003.01.28
lotto 번호 추출기 [7] 갑빠™ 2003.01.29
^.^ 그림을 DB에 집어넣어 버리기.. [13] 아이쿠 2003.01.30
PHP,자바스크립트 활용하기 #1 -무단링크라는 것은... [21] ☆좀비파우더™ 2003.01.30
야구 자료실 만들기 1 [8] file 한꼬마 2003.01.30
야구 자료실 2 (목록 만들기) 한꼬마 2003.02.02
제로보드식 에러페이지 만들기 [2] .zeve 2003.02.04
자신의 디비내용을 출력해주는 소스 [출처: phpschool.com] [5] 석이™ 2003.02.05
V3 neo+ 항상 최신버전으로 자동링크시키기 [7] 김현석 2003.02.08
제로보드 스킨들이 어느 게시판에 쓰이는지 알아보는 소스 [12] teslaMINT 2003.02.11
[초간단] 헤더로 asx 파일 음악 주소를 숨겨봐요. [9] 모라미 2003.02.14
DB를 이용한 현재접속자 수 구하기 [6] 김현석 2003.02.14
PHP,자바스크립트 제 3탄! 아래에 헤더로 asx감추기를 이용한 PHP무비 플레이어! file ☆좀비파우더™ 2003.02.16
유용한 함수 몇가지...;;;; [7] Yuki-H. 2003.02.19
계정이 php를 지원하는지아닌지 잘 모를때... [16] 격투왕맹호 2003.02.19
NZEO 이메일 인증 따라하기 [또 수정 --;] [44] file teslaMINT 2003.02.22
여러분이 원하시던 로또복권 소스공개~ [12] Dopesoul 2003.02.22
게시판 통체 인클루드 하기 [12] 깜보 2003.03.02