웹마스터 팁

http://smtc97.nalove.cc/test/find_music_url.phpfind_music_url.php
<?
/*
제목 : WinAmp용 음악 링크 뽑기 - 테스트버전
용도 : 주소를 입력받아 음악 파일(mp2, mp3, asf, wma - 윈앰프에서 play되는것)만 뽑아낸후 윈앰프로 플레이
알고리즘 :
1. 주소를 입력 받은후 살아있는 주소인지 확인
2. 입력받은 페이지의 내용을 읽어온후 ://로 구분하여 저장
3. 저장한 배열중 음악 파일 링크만 뽑아내기
        a. 문자열중 .mp3, .mp2, .asf, .wma가 있는지 검사
        b. 있다면 처음부터 확장자까지만 문자열 뽑기 - 문자열중 확장자가 여러개면 마지막까지 뽑아냄 ^^;
                                                                                                                                         정규식 수정으로 해결할수 있지만 능력부족...
        c. 뽑은 문자열중 중복되는 문자열 제거하기 - 중간에 중복되는게 몇개 나타남. ^^; - 몇개만 왜 안되는지 모름
        d. 최종 결과물을 링크와 구분자(n)를 넣어서 저장
        e. m3u로 저장할 변수 생성
//4. 뽑은 음악 링크가 살아있는지 검사 - 죽은 주소는 응답시간이 길어서 프로그램이 정상적으로 처리 못해서 포기
                                                                                                                자료를 찾아본 결과 이 기능은 php만으론 거의 불가능한걸로 판단됨... ^^
5. m3u 생성후 play - 죽은 주소는 알아서 건너뛰기에 4번은 사실 별 필요없음. ^^;

주의사항 : 이 파일을 업로드한 폴더의 퍼미션 747 이상으로  해야함.
*/

//입력화면 설계
echo "
<html><title>WinAmp용 음악 링크 뽑기</title><body>
<div align=center><table border=0 cellspacing=0 cellpadding=0>
<form method=post action=" .$php_info. ">
<input type="hidden" name="act" value="info">
<tr><td height=30 align=center>WinAmp용 음악 링크 뽑기</td></tr>
<tr><td align=center> 주소 <input type=text name="url" value="http://" size=30> <input type=submit value="조회">
</form></td></tr>
<tr><td align=center>
<form method=post action='winamp_play.php'>
<input type=submit value="WinAmp Play"></td></tr>
</form>
</table></div>
</body></html><br>
";

if( $act == "info" ) {
        $my_url = "경로명"; //이 파일이 존재하는 경로 예) http://smtc97.nalove.cc/test
        $fp =@fopen($url,"r");  //url 열기
        if ($fp){
                while($contents = fread($fp, 20)){ //url 내용을 끝까지 읽어들임
                        $str.=$contents;
                }
                fclose ($fp); //url닫기
                $page=htmlspecialchars($str);        //내용을 소스로 표시        
                $page_url = explode("://",$page);  //구분자로 주소가 처음으로 나오게 저장
                $m3u_file_contents = "#EXTM3Un"; //m3u의 첫부분 내용
                $count=1; //카운트 초기화
                for ($i=0;$i<sizeof($page_url);$i++){        //배열을 처음부터 끝까지 돌림        
                        if (eregi(".asf",$page_url[$i]) || eregi(".mp3",$page_url[$i]) || eregi(".wma",$page_url[$i])){ //확장자가 있는지 검사                                                
                                eregi("([a-zA-Z0-9](.+)(.mp3|.asf|.wma))",$page_url[$i],$url); //처음부터 확장자까지 뽑아내어 $url에 저장        
                                if (!eregi($url[0], $music_url)){ //중복주소가 있는지 검사                                        
                                        $music_url.="($count) <a href=http://$url[0]>http://$url[0]</a>n"; //http://를 붙여 완벽한 주소로 최종 결과물 저장
                                        $count++; //뽑아낸 주소의 갯수 카운트                                
                                        $m3u_file_contents.="#EXTINF:0,http://$url[0]nhttp://$url[0]n"; //m3u에 뽑은 주소를 저장
                                }                
                        }                
                }        
                echo nl2br($music_url); //결과물 출력
                $m3u_file=@fopen("temp.m3u","w") ; //m3u생성
                @fwrite($m3u_file,$m3u_file_contents) ;
                @fclose($m3u_file);                 
        } else {
                echo "존재하지 않은 페이지 입니다.";
        }
}
?>

winamp_play.php
<?
header("location:경로/temp.m3u"); //temp.m3u가 위치한 경로 예) http://smtc97.nalove.cc/test/temp.m3u
?>
제목 글쓴이 날짜
교육용 방명록 #8 [delete.php3파일에서 넘겨받은 비밀번호를 검사하여 글을 삭제합니다.] [18] zero 2000.07.03
MySQL 루트비번 분실시 대처요령 [29] zero 2001.04.18
노프레임/카운터에 관련된 PHP함수 팁 몇가지 [1] 차카게살자 2001.12.28
PHP 인증 페이지를 만들자! - Lesson 1 수정본 #2 ☺[폐]허접-_- 2002.01.24
PHP 인증 페이지를 만들자! - Lesson 2 수정본 #1 [5] ☺[폐]허접-_- 2002.01.24
회원관리 프로그램을 구현하고 싶은신 분들께.. [7] [폐]허접-_- 2002.03.18
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] ☺[폐]허접-_- 2002.01.24
M3U생성 프로그램을 통한 MP3실시간 듣기.. [11] ▒1q▒ 2001.09.13
배경 음악을 한번만 실행 시키기 - 쿠키이용 [4] 오기 2001.12.02
주소에서 음악 파일만 빼와 윈앰프로 실행하기 [1] file 오기 2001.12.04
[추천 팁] phpmyadmin 으로 복구 할때. 후니 2001.02.28
공부용 방명록이에욥^^. 주석왕창(페이지분할등.기능있어욥~) [2] 프리^^ 2001.04.16
최근게시물 - 첫글은 내용까지, 다음글부터 목록만... [15] СreдturЭ 2001.04.16
[APM] 한글, gif, jpeg, png 다되는 GD 설치 [4] 앤디(andy) 2001.05.22
GD를 이용해본 영어 발음기호 image출력 [3] 앤디(andy) 2001.05.24
쿠키 설정하고 불러올때 주의할점;; [윈도우 멀티부팅 사용하시는 초보분만] [9] daftya 2001.05.29
대화방을 만들어보쟈~ [20] 해그리드짱!!! 2001.06.03
자기 홈 또는 서버 연지 며칠이 지났는지 알 수 있는 php 소스 [15] 고종길 2001.06.03
홈페이지에 실시간뉴스 보여주기 [19] looster 2001.06.05
지금까지 살아온 날 계산해 주는 스크립트 [6] skyel 2001.07.20