웹마스터 팁

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
제목 글쓴이 날짜
echo를 처음사용하시는 초보들에게... [10] ZipShin 2002.07.06
배경그림과 글자색상,배경색상을 지정해주는 php스크립트 [2] ZipShin 2002.07.07
php소스를 윈도우 실행파일로 만드는 컴파일러 있나요? [2] 소우리 2002.07.08
[PHP]간단한 로그인페이지 만들기 [15] ZipShin 2002.07.09
[추천 팁] 웹 브라우저가 한글인지 영문인지(다른 언어인지) 자동 인식하기... [1] 박용구 2002.07.10
PHP 와 Flash 를 이용해 즉석복권을 만들어 보자. [2] 다솜아빠 2002.07.10
[추천 팁] 파일의 최종접근시간과 파일의 수정시간을 알려주는 함수 [2] ssukai 2002.07.10
[추천 팁] 폴더내의 파일중에서 특정정보만 뽑아오기. [2] M2Vis 2002.07.12
PHP를 리눅스 셸 프로그래밍할때 PHP파일 의 경로.. [2] 실버 2002.07.18
원격침입과 도스공격이 가능한 PHP 취약점 [11] JunYa™ 2002.07.24
(삽질완료) 다중도메인, 접속도메인따라 경로결정 [1] nrhythm 2002.07.25
[초보자] 자기 계정에 APM,Perl,PHP이 지원하는지 알아보기. [5] ZipShin 2002.08.01
[Header 이용하기 #1] No-cache [1] )OsE= 2002.08.01
[Header 이용하기 #2] 파일 다운로드 )OsE= 2002.08.01
[Header 이용하기 #3] 페이지 이동 [2] )OsE= 2002.08.01
[초간단 팁] 프로그래밍 스타일, 절대 경로 [8] )OsE= 2002.08.02
Apache나 IIS등 웹서버 설치 않하고도 PHP 실행해보는 방법 [9] 차카게살자 2002.08.02
TheMics의 예제와 함께하는 PHP기초(中) [1] TheMics 2002.08.05
[클래스] 클래스 #1 [8] file )OsE= 2002.08.07
쓸모있는 PHP Tip (다 알구 있을런지 모르겠네여..^^) [1] 이삐아이(체리) 2002.08.09