묻고답하기

페이지에 php를 써서 음악을 넣었습니다.


페이지 명은 music.php이며, 구성은 대충 아래와 같습니다.

$music = array('제목1','제목2','제목3','제목4','제목5') 라는 변수와
$artist = array('가수1','가수2','가수3','가수4','가수5') 라는 변수를 놓았습니다.

그리고 랜덤과 리스트에서의 선택을 위해서

if($no == "") $no = mt_rand(0,sizeof($music) - 1)

라는 변수를 줬습니다.

즉, 페이지를 처음 로딩하거나 랜덤 버튼(no의 값을 없애는 것)을 누르면 $no는 랜덤으로 선택되어집니다.
리스트에서는 곡목마다 링크를 걸고 href="music.php?no=번호" 로 지정을 해두었습니다.


출력부분(echo)에서는

제목 - 가수 형식으로 표시하기 위해

<? echo $music[$no]."<br> - ".$artist[$no]; ?> 로 했습니다.


소스는 재생, 정지를 위해서 윈미플을 이용해서

<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" name="Player">
<param name="Filename" value="../music/<? echo $music[$no]; ?>.wma">
</object>
로 뒀습니다.

소스 보면 아시겠지만, 파일은 wma이며 파일명은 전부 제목으로 했습니다.
(관리를 위해서)


즉, $title 와 $artist는 직접 제가 손보면서 수정해야하고(어차피 파일이 많아봤자 복잡하기만 하니까 10개 정도만 해놓을 생각입니다.), 랜덤과 리스트를 위한 것은 $no 로 설정됩니다.



문제는 랜덤입니다.

APM을 설치해서 작업하고 있는데, 자가테스트할때는 랜덤이 균등하게 잘 됩니다.

하지만 계정에 올려서 직접 웹으로 해보니 몇몇 곡만 집중적으로 선택되어져 버리네요.
(분명히 동일한 파일입니다.)


제가 생각한 방법으로는

1. 폼을 이용해서 name="no", value="" 를 music.php로 전송한다.(전송할 것은 이 히든타입 하나 밖에 없습니다.)
2. a를 이용해서 href="music.php?no="
3. 새로고침을 이용해서 onclick="location.reload();"

일단 3번은 속도 문제로 인하여 제외했습니다.
바탕이 검은색인데 새로고침하여 화면이 다 뜰때까지 하얀색으로 비어있는게 영 아니더군요.


위의 문제가 임시 인터넷 파일 때문이 아닐까 해서 새로고침을 해봤습니다만 문제는 마찬가지였고 속도만 느려져서 제외했습니다.


음...

그러니까 질문은

<a href="music.php?no=">랜덤</a>

또는

<form action="music.php" method="get(post도 상관없음"><input type="hidden" name="no" value=""><input type=submit></form>

을 이용하면 임시 인터넷 파일 때문에 랜덤이 제대로 이루어지지 않을 수 있을까요?


그리고 랜덤을 제대로 하기 위해서는 또 어떤 방법이 있을까요?




== 제가 만든 것입니다(스타일 등의 장식은 생략, head에 레이어 컨트롤 자바스크립트 썼습니다.) ===

<?
$music = array('제목1','제목2','+ '+ '제목3','제목4','제목5');
$artist = array('가수1','가수2','가수3','가수4','가수5');
if ($no == "") $no = mt_rand(0,sizeof($music) - 1);
?>

// 위에서 설명한 변수 부분입니다.


<div id="list" style="position:relative; left:0px; top:0px; width:150px; height:130px; z-index:2 ; visibility:hidden">
     <div>
          1. <a href="music.php?no=0"><? echo $music[0]; ?></a>
          [2. ...   3. .... 등등 목록]
     </div>
     <a onClick="MM_showHideLayers('list','','hide')">CLOSE</a>
</div>

// 리스트는 레이어에 넣어서 리스트 버튼을 클릭하면 보이도록 했습니다. 리스트는 위에서 설명한대로 no= 인 a를 이용했습니다. 하단부에는 리스트 닫는 버튼을 두었습니다.



<table style="position:absolute ; left:0 ; top:0 ; width:150 ; height:130 ; z-index:1">
     <tr>
          <td>
               <object style="visibility:hidden ; height:0 ; width:0" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" name="Player">
               <param name="Filename" value="../music/<? echo $music[$no]; ?>.wma"></object>
               <? echo $music[$no]."<br> - ".$artist[$no]; ?>
          </td>
     </tr>

// 윈도우 미디어 플레이어를 사용했습니다. 소스는 위에서 설명한대로 파일이름.wma로 했죠. 그 밑에는 곡목 - 가수 가 출력됩니다.


     <tr>
          <td>
               <a onclick="Player.play();">ON</a>
               <a onclick="Player.stop();">OFF</a>
               <a href="music.php?no=">RANDOM</a>
               <a onClick="MM_showHideLayers('list','','show')">LIST</a>
          </td>
     </tr>
</table>

// 재생, 정지 버튼과 랜덤 버튼, 리스트 출력 버튼이 있습니다. 재생, 정지를 위해 윈미플을 이용했습니다.


http://seeker.pe.kr/base/stuff.htm 이 현재 작업중인 곳입니다.

이 소스를 좀 더 최적화 시키고 랜덤을 제대로 할 수 있는 팁을 가르쳐주시면 감사하겠습니다.
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
harry98 gmax어디서 받죠?  
Alee 싸이월드 미니 홈피 따라하기 [3] 2007.08.10
밤거리 nzeo 위에 있는 메뉴와 같이 커뮤니티 | 웹스터티 | 제로보드 |다운로드 | 온라인게임 [2] 2007.08.10
이중경 구문 해석의 의문점 질문입니다. [2] 2007.08.10
정인걸 신청서 추천바랍니다..  
권수원 Photoshop7.0에서요 선긋기는 어떻게 합니까? [1] 2007.08.10
빛의바다 노프레임으로 페이지를 만들었는데 여백이 생겼어요...;; [2] 2007.08.10
백승렬 배경음악이 잘 나오다가 얼마전부터 안나오네요?  
민영기 phpmyadmin을 사용중에 아이디와 비번을 잊어버렸습니다. [4] 2007.08.10
황완섭 너무너무 간절해서 글 올립니다... 해상도에 맞게 브라우져창 열기  
오승민 자동으로 새창열기가 한번만 되게 할 수 없을까요 ?  
정상혁 웹페이지에서 플래시 제어. [1] 2007.08.10
김양훈 너무 급해요.. 이미지가 모두 x표시되서 나오는데 어떻게 해야하죠? [3] 2007.08.10
Tombow 죄송하지만 폰트 질문요... [2] 2007.08.10
김경완 다시 한번 질문올립니다..  
정인걸 이 스크립트에서 뭐가 잘못됬길래...홈페이지가 안뜨나요 ㅠㅠ  
김인식 위키백과사전처럼 만들수 없나요?  
가람 저희 컴에서는 잘 뜨는데, 친구네 컴에서는 엑박으로 뜰때;; [2] 2007.08.10
내안의휴식 폼메일에 관한 질문입니다.  
박과장 메뉴 표시줄은 어떻게 만드는지? [1] 2007.08.10
김경완 parse error가 뜨네요.. 뭐가 잘못되었는지.. [3] 2007.08.10
요코 이미지맵 써서 아이프레임 안에 하이퍼 링크를 시켰는데 반응이 없어요 ;;;;  
김영송 그 페이지에 머문 시간을 입력폼에 나타내기.  
김경완 나모로 노프레임 홈페이지를 만드는데.. 외부로그인과 최근게시물에서 문제가 나네요.. [2] 2007.08.10
Seeker php에 대한 간단한(;) 질문입니다.  
이지선 홈페이지가 새로고침을 해야 떠요  
권동현 폼메일에 관한 질문입니다.  
이준원 음악감상 게시판 말인데요..  
hanpedro 포트 80 에러가 나오네요? [4] 2007.08.10
강원철 사진첩소스 인데 화면이 안떠요 -0- 부탁 드려요~