음악게시판에서 최신곡추출하여 배경음악으로 깔아주기!! 업그레이드

음악게시판에서 최신곡추출하여 배경음악으로 깔아주기!! 업그레이드
음악게시판에서 최신곡추출하여 배경음악으로 깔아주기!! 업그레이드  
박세준  (Homepage)  2003-08-08 05:53:04, 조회 : 3,372, 추천 : 3

안녕하세요? 이곳에서 공태랑님의 팁을 보고 좋아라 하고 적용했었습니다. 음악 게시판 깔 생각은 없고.. 배경음악은 돌리고 싶은데 몇곡만 그냥 업로드한거 수정해서 쓰고 싶고.. 그냥 스킨 상관없이 게시판 하나 만들어서 곡 2,3만 올려놓고 돌리고 싶었어요. 근데 공태랑님 걸로는 파일 업로드 한건 재생이 안 되더라구요. 그래서 짜집기해서 수정해보았습니다. 수정하면서 빈프레임에 이걸 집어넣고 메인프레임에서 제어를 하고 싶었는데.. 이 팁은 찾기가 힘들더군요. 그래서 그것도 짜집기해서 넣었습니다...귀찮은거 싫어하다보니 노가다가 되었네요...

다음과 같은 분이 사용하면 좋습니다.

1. 배경 음악을 돌리고 싶은데 FTP로 계정에 올리기도 귀찮은 사람
2. 배경 음악을 돌리고 싶은데 BGM플레이어 설치하기도 귀찮은 사람
3. 배경 음악을 돌리고 싶은데 음악 끄려고 ESC 누르기 귀찮은 사람
4. 배경 음악을 돌리고 싶은데 링크하든 업로드 하든 상관하기 귀찮은 사람
5. 배경 음악을 돌리고 싶은데 다행히 밑에 있는 변수 다 고칠 줄 아는 사람
6. 배경 음악을 돌리고 싶은데 심심한 사람

기능 소개

1. 음악을 링크 시켰건 업로드 시켰건 게시판의 자료를 불러와 순서를 랜덤하게 작성하여 재생시킨다. (asx)
2. 크기 0 짜리의 빈프레임에 넣었을때 메인프레임에서 단 한개의 클릭으로 재생과 정지를 제어한다.

설치

1. 게시판을 하나 만들어서 몇개 링크를 하든 업로드 하든 한다. (기존 것도 괜찮다.)
2. <첨부1> 파일을 자신에 맞게 수정한후 bgm.php 로 저장해 제로보드와 같은 디렉토리에 업로드한다. (1~5번까지 수정)
3. 같은 디렉토리에 내용없는 songs.asx 하나 만들어 올리고 권한을 777로 해준다.
4. 자신의 홈페이지에 크기 0 인 프레임을 만들어 bgm.php를 삽입한다.
5. <첨부2> 의 재생/정지 기능 버튼을 자신에 맞게 만들어 홈페이지에 넣고 사용한다.



<첨부1> bgm.php -------------------------------------------------
<?
   $_zb_url = "경로경로";                            // 1.제로보드 상대경로 써줍니다.
   $_zb_path = "경로경로";                           // 2.제로보드 절대경로 써줍니다.
   include $_zb_path."outlogin.php";
?>

<HTML>
<HEAD>
<TITLE> Background Music </TITLE>
</head>


<BODY>
<?  //뮤직박스 최근 게시물 추출
        mysql_connect("호스트이름","아이디","암호암호");  // 3.호스트이름, 아이디, 암호
        mysql_select_db("디비디비"); // 4.디비이름
        $result=mysql_query("select * from zetyx_board_보드ID ORDER BY RAND()");  // 5.zetyx_board_음악게시판보드이름 -order by no desc limit 추출수- 이렇게 하면 랜덤없이 최근자료 수만큼 재생합니다
        $listsongname = "songs.asx";
        // Make ASX File
$fp=fopen($listsongname,"w");
if(!$fp) die("Cannot Make ASX File");

while($data=mysql_fetch_array($result))
{
// 절대경로 알아내기
global $PHP_SELF;

$thisfilename=basename(__FILE__);
$temp_filename=realpath(__FILE__);
if(!$temp_filename) $temp_filename=__FILE__;
$osdir=eregi_replace($thisfilename,"",$temp_filename);
unset($temp_filename);
$virdir = eregi_replace($thisfilename,"",$PHP_SELF);
$usrdir = "http://".$HTTP_HOST.$virdir;

        $subject=$data[subject];
        if($data[sitelink1]) $listsong = $data[sitelink1];
        elseif($data[sitelink2]) $listsong = $data[sitelink2];
        elseif($data[file_name1]) $listsong =  $usrdir.$data[file_name1];
        elseif($data[file_name2]) $listsong =  $usrdir.$data[file_name2];
        else $listsong = "";

$song_path="$listsong\n";
fwrite($fp, $song_path);

        echo " <p align='center'><b>:::: $data[subject] ::::</b></p>"; //음악이름과 주소(이부분은 삭제하여도 상관없음)
}

fclose($fp);
echo "<script LANGUAGE=javascript>
//변수의 초기화
var songPlaying = false;        
function play() {
        if (songPlaying) { //재생중이라면...
        stopTrack();
        return;
        }
        document.bgm.play();
        songPlaying = true;
}
function stopTrack() { // 음악 멈추기
        document.bgm.Stop() //윈도우 미디어 컨트롤을 위한 옵션
        if (songPlaying) { //재생중이라면...
        }
        else { alert('이미 정지되었습니다.'); return false;}
        songPlaying = false;
}

</script>";
echo "<center><object classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' id='bgm'>
<param name='AllowChangeDisplaySize' value='false'>
<param name='AllowScan' value='true'>
<param name='AnimationAtStart' value='false'>
<param name='AutoSize' value='false'>
<param name='AutoStart' value='false'>
<param name='Balance' value='0'>
<param name='BufferingTime' value='5'>
<param name='ClickToPlay' value='true'>
<param name='CurrentMarker' value='0'>
<param name='CurrentPosition' value='-1'>
<param name='CursorType' value='0'>
<param name='DisplayBackColor' value='0'>
<param name='DisplayForeColor' value='16777215'>
<param name='DisplayMode' value='0'>
<param name='DisplaySize' value='2'>
<param name='EnableContextMenu' value='true'>
<param name='Enabled' value='true'>
<param name='EnableFullScreenControls' value='false'>
<param name='EnablePositionControls' value='true'>
<param name='EnableTracker' value='true'>
<param name='InvokeURLs' value='true'>
<param name='Language' value='-1'>
<param name='Loop' value='true'>
<param name='Mute' value='false'>
<param name='PlayCount' value='1'>
<param name='PreviewMode' value='false'>
<param name='Rate' value='1'>
<param name='SelectionEnd' value='-1'>
<param name='SelectionStart' value='-1'>
<param name='SendErrorEvents' value='true'>
<param name='SendKeyboardEvents' value='false'>
<param name='SendMouseClickEvents' value='true'>
<param name='SendMouseMoveEvents' value='false'>
<param name='SendOpenStateChangeEvents' value='true'>
<param name='SendPlayStateChangeEvents' value='true'>
<param name='SendWarningEvents' value='true'>
<param name='ShowAudioControls' value='true'>
<param name='ShowCaptioning' value='false'>
<param name='ShowControls' value='true'>
<param name='ShowDisplay' value='false'>
<param name='ShowGotoBar' value='false'>
<param name='ShowPositionControls' value='true'>
<param name='ShowStatusBar' value='true'>
<param name='ShowTracker' value='true'>
<param name='TransparentAtStart' value='false'>
<param name='VideoBorder3D' value='true'>
<param name='VideoBorderColor' value='0'>
<param name='VideoBorderWidth' value='0'>
<param name='Volume' value='2000'>
<param name='WindowlessVideo' value='false'>
        <param name='Filename' value='$listsongname'>
        </object>".nl2br($data[subject])."<br></center>";

        mysql_close();
?>
</BODY>
</HTML>

<첨부2> -----------------------------------------------------------------------

<a href="javascript:window.parent.프레임 이름.play()" target=_self>뮤직 온/오프</a>

위 한줄을 자기가 이쁘장하게 꾸며서 메인 프레임에 넣고 싶은 곳에 넣으면 됩니다...여기서 프레임 이름이란 바로 bgm.php를 삽입한 프레임의 이름을 말합니다.

제 홈페이지의 예를 들어보면...
------------------------------------------------
<FRAMESET ROWS='1*,0' COLS='790' >
  <FRAME NAME='Index'  SRC="./zboard/index.php">
  <FRAME NAME='bottom' SRC="./zboard/bgm.php">
</FRAMESET>
-------------------------------------------------
조기 bottom 이라고 되어있는 곳이 프레임네임입니다. 그리고 저 위의 한줄짜리 링크는 Index 프레임 아무곳에나 넣으면 됩니다.

* 주의 : 혹시 모르니 위에 bgm.php 수정할때 줄정리하세요.
           안 될 수도 있습니다. 가슴 아파 하지 마십시오.
           문의 하시면 답해드리고 싶은데 제가 PHP 모릅니다. 그냥 짜집었습니다. ㅠㅠ;;
           잘 아시는 분 대신 답해주시면 감사하겠습니다 ^^

짜집기 출처
1. http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&no=1159

2. http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&no=3906

3. 시노부 BGM player

* 8월 13일 수정.. 제로보드와 같은 디렉토리에 넣어야 됩니다.



===========================================================
dk anjsthfldi. djfuqek. gksrmfdms dho Eh dksTjwu :@