웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
랜덤으로 파일 가져와서 재생하고, 끝나면 다른 랜덤파일 또 재생하기..
2004.09.10 20:54
우선 이거는 여기서 우연히 본 비슷한 소스를 보고 제가
좀 수정한 것이 거든요.
어디서 봤는지 잘 기억이 안나서 출처는 일단 생략했습니다.
"이 부분은 이렇게 수정하면 더 낳을것 같다.." 라는 부분 있으시면
서슴없이 말씀해 주세요.
참고 하겠습니다.
<?
/*
- 랜덤으로 재생되는 음악 -
이 소스는 하나의 노래가 끝나면, 다시 페이지를 로딩하면서 새로운 노래가 재생 되도록 되어있다.
파일 목록을 세션 변수에 저장하여, 매번 페이지가 로딩될때마다 opendir을 호출하는 것을 방지하였다.
즉, 브라우저를 종료하고 새로 접속했을때만, 새로운 노래 목록을 가져오도록 했슴.
*/
session_start();
// 노래가 저장된 디렉토리
$strMusicDir = "D:/Music";
//$_SESSION["aryMusic"] : 노래 목록이 저장되는 배열
// 세션 변수가 없을 때(즉, 처음 페이지가 로딩될 때) if문 수행
if(!isset($_SESSION["aryMusic"]))
{
$handle = opendir("D:/Music");
$_SESSION["aryMusic"] = array();
// 노래 파일명을 배열 $_SESSION["aryMusic"]에 차례로 할당한다.
while ($strFileName = readdir($handle))
if(is_file($strMusicDir . "/" . $strFileName))
$_SESSION["aryMusic"][] = $strFileName;
closedir($handle);
}
// 배열 $_SESSION["aryMusic"]의 크기(즉 노래파일의 수)를 구한다.
$intCnt = count($_SESSION["aryMusic"]);
// $_SESSION["aryMusic"]의 랜덤 index를 구한다.
$selected_music = mt_rand(0, $intCnt - 1);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<SCRIPT event="EndOfStream" for="jukebox" language="javascript">
location.href="<?php echo $PHP_SELF;?>";
</script>
</head>
<body>
<!-- 생성된 랜덤 index에 해당하는 파일을 재생한다. -->
<embed src="<?php echo $strMusicDir . "/" . $_SESSION["aryMusic"][$selected_music];?>" autostart="true" hidden="false" loop="0" id="jukebox">
<P>
<?php
$strCurrent = substr($_SESSION["aryMusic"][$selected_music], 0, strrpos($_SESSION["aryMusic"][$selected_music], "."));
echo "제목: " . $strCurrent;
?>
<P>
<INPUT TYPE="button" value="다른 노래" onClick="location.reload();">
</body>
</html>
좀 수정한 것이 거든요.
어디서 봤는지 잘 기억이 안나서 출처는 일단 생략했습니다.
"이 부분은 이렇게 수정하면 더 낳을것 같다.." 라는 부분 있으시면
서슴없이 말씀해 주세요.
참고 하겠습니다.
<?
/*
- 랜덤으로 재생되는 음악 -
이 소스는 하나의 노래가 끝나면, 다시 페이지를 로딩하면서 새로운 노래가 재생 되도록 되어있다.
파일 목록을 세션 변수에 저장하여, 매번 페이지가 로딩될때마다 opendir을 호출하는 것을 방지하였다.
즉, 브라우저를 종료하고 새로 접속했을때만, 새로운 노래 목록을 가져오도록 했슴.
*/
session_start();
// 노래가 저장된 디렉토리
$strMusicDir = "D:/Music";
//$_SESSION["aryMusic"] : 노래 목록이 저장되는 배열
// 세션 변수가 없을 때(즉, 처음 페이지가 로딩될 때) if문 수행
if(!isset($_SESSION["aryMusic"]))
{
$handle = opendir("D:/Music");
$_SESSION["aryMusic"] = array();
// 노래 파일명을 배열 $_SESSION["aryMusic"]에 차례로 할당한다.
while ($strFileName = readdir($handle))
if(is_file($strMusicDir . "/" . $strFileName))
$_SESSION["aryMusic"][] = $strFileName;
closedir($handle);
}
// 배열 $_SESSION["aryMusic"]의 크기(즉 노래파일의 수)를 구한다.
$intCnt = count($_SESSION["aryMusic"]);
// $_SESSION["aryMusic"]의 랜덤 index를 구한다.
$selected_music = mt_rand(0, $intCnt - 1);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<SCRIPT event="EndOfStream" for="jukebox" language="javascript">
location.href="<?php echo $PHP_SELF;?>";
</script>
</head>
<body>
<!-- 생성된 랜덤 index에 해당하는 파일을 재생한다. -->
<embed src="<?php echo $strMusicDir . "/" . $_SESSION["aryMusic"][$selected_music];?>" autostart="true" hidden="false" loop="0" id="jukebox">
<P>
<?php
$strCurrent = substr($_SESSION["aryMusic"][$selected_music], 0, strrpos($_SESSION["aryMusic"][$selected_music], "."));
echo "제목: " . $strCurrent;
?>
<P>
<INPUT TYPE="button" value="다른 노래" onClick="location.reload();">
</body>
</html>
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
윈도우XP 서비스팩2 사용자인지 아닌지 판별하기 [22] | 天高馬肥[쉬드] | 2004.10.09 |
echo 안에 더블쿼테이션을 사용하기 [15] | 토토루 | 2004.10.05 |
trim 과 addslashes를 일괄처리하는 함수 [7] | BigStone | 2004.10.02 |
'' -> ""로 만들기(?) [2] | 플로렐라 | 2004.09.17 |
crontab 실제 사용 예제, 온라인 웹 게임 운영하기 (팁 + 오픈 소스 게임 소개 ^^;) [1] | 박용구 | 2004.09.14 |
날씨별로 다양한 말이나 음악 보여주기[수정] [4] | 로크 | 2004.09.13 |
-긴급소스 수정본- winamp 방송정보 알아내기 | 이승원 | 2004.09.11 |
랜덤으로 파일 가져와서 재생하고, 끝나면 다른 랜덤파일 또 재생하기.. | 겜방 | 2004.09.10 |
썸네일 생성시 unsharp mask활용할수 있는 팁..소스 | 앗싸~~ 곰세마리 | 2004.09.06 |
Echo 여러번호출? 할때 깜빡임 없애기 [5] | 신희돈 | 2004.09.03 |
서브디렉토리,파일까지 모두 삭제하는 함수. [5] | Lepas | 2004.08.24 |
4. include, require 그리고 뽀나쓰~ [8] | 티다 | 2004.08.19 |
공유 메모리 제어에 관한 함수 정리 (공유메모리) [5] | Simsim | 2004.08.16 |
접속자 IP 주소 텍스트로 저장 [7] | 천상원 | 2004.08.15 |
PHP프로그램에 간단한 인증(로그인) 걸기. [15] | Lepas | 2004.08.09 |
파일업로드시 파일명 중복되지 않게 저장하기... [6] | 김지호 | 2004.08.06 |
ISO 3166 국가코드로인한, 국가 검출소스 [4] | kein23 | 2004.08.04 |
IP 뒤에 두칸 글자 길이에 따라서 *로 나타내기 [13] | Sy-Tgt(stargt) | 2004.07.30 |
php로 이미지를 mysql디비 저장하고 보여주는 소스 [2] | QQQ | 2004.07.30 |
디비내용을 엑셀,워드,파워포인트 파일로 다운로드 시키는 방법 [13] | QQQ | 2004.07.30 |