묻고답하기

페이지에 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 남기남
도향 php 질문입니다. 원하는 코멘트만 보여주기에 관해  
UGenet 플래시에서 이미지에서 마우스를 띠면... [1] 2007.08.10
zzz 포토샵 디자인중에서... [2] 2007.08.10
이순미 드림위버에서 자체 프로그램에 있는 플래시 버튼에 한글을 입력할수 있나요? [2] 2007.08.10
연화 메뉴와 메인이 동시에 바뀌려면...  
오지선 노프레임에 관한 질문입니다.  
이재원 닫기창 누를때. [2] 2007.08.10
토민쿠 고수분들 이거어떻게 하는지아시는분 [1] 2007.08.10
미노_無愛★ 변수안에 태그로작성하고 함수나 자바로 다른변수출력불가능한가요? [2] 2007.08.10
김태희 일정시간이 지나면 변수하나씩.. [1] 2007.08.10
아트워커 소수점 만들기 [2] 2007.08.10
skymino 제로보드에서 php나c문법에 색감을 입히는 방식을 하고싶은데요... [1] 2007.08.10
문창호 링크 이동될때 달칵! 거리는 소리 없애는 방법 가르쳐주세요.  
도재현 새창열기했는데 사랑비bgm이 멈추네요.. [2] 2007.08.10
최영준 아이프레임 배경색지정 못하나요? [2] 2007.08.10
슈밍 일반 html 이나 자바스크립으로 소스좀 구합니다.  
미노_無愛★ html사용시 자동 줄바꿈 어떻게 하는거에요? [2] 2007.08.10
EVA cgi 게시판에서 IP 표시하기 [1] 2007.08.10
Thanatos 새 창 띄우기에 관한 질문입니다 [2] 2007.08.10
서인태 제로보드를 아이프레임으로 홈페이제 링크시킬때... [1] 2007.08.10
김유성 홈페이지 주소에 관한 문의좀 드릴게요. [2] 2007.08.10
신소현 익명 100문100답에 ip쓰는거요... [3] 2007.08.10
qwert 회사 홈페이지를 만들고 있습니다 그런데 견적서 보내기나?? 운영자에게 멜 보내기는 어떻게 하나요?? [1] 2007.08.10
강원철 사진첩소스 인데 화면이 안떠요 -0- 부탁 드려요~  
hanpedro 포트 80 에러가 나오네요? [4] 2007.08.10
이준원 음악감상 게시판 말인데요..  
권동현 폼메일에 관한 질문입니다.  
이지선 홈페이지가 새로고침을 해야 떠요  
Seeker php에 대한 간단한(;) 질문입니다.  
김경완 나모로 노프레임 홈페이지를 만드는데.. 외부로그인과 최근게시물에서 문제가 나네요.. [2] 2007.08.10