웹마스터 팁

http://java.compuz.com/php/findmp3.php[원리이해]
두가지 검색 기능이 존재하는데..
검색1.입력한 URL검색하여 사운드 파일만 뽑아 옵니다.
검색2.엠파스사운드파일 검색 폼을 내부에 추가해 URL검색이 아닌 키워드 검색을 하여 사운드 파일을 뽑아 옵니다.
검색된 리스트를 직접 클릭하면 다운로드 되고 "WinAmp실시간듣기"를 클릭하면 검색된 리스트가 list.m3u파일에 저장된 후 윈앰프가 실행됩니다.

[태스트 방법]
사운드파일이 링크된 웹페이지를 URL폼에 넣어 검색하는 방법과 엠파스사운드검색폼에 키워드(예:ses)를 넣고 검색하는 아주 쉬운 검색 방법이 있습니다.

파일이름:findmp3.php
<?  //음악파일 검색하여 윈앰프로 실시간 듣기

echo "
<body>
<center>
<form method=post action=$PHP_SELF>
<input type=hidden name=ext value=ok>
음악파일를 검색하고 싶은 웹페이지를 입력하세요.<br>
[mp3,mp2,mid,wav 파일검색 지원]<br>
URL검색 <input type=text name=url size=40> <input type=submit value=사운드검색> <br>
<font color=blue>엠파스사운드검색</font> <input type=text name=amurl size=30 value=''><input type=submit value=키워드+파일검색>
</form>
<form method=post action=./findmp3_m3u.php>
<input type=submit value=WinAmp로실시간듣기>
</form>
</center>
</body>
";
if( $ext == "ok" )
{
if($url){$url=$url;}
else if($amurl){$url="http://search.empas.com/search/avi.html?q=".$amurl;}
        
$fcontents=implode(" ",file($url));    
                           //n으로 저장된 배열을 연결문자를 이용하여 한개의 스트링변수에 저장
//$fcontents=htmlspecialchars($fcontents);
$fcontents=explode("http://",$fcontents);
$count=1;
echo"$url 에서 검색된 음악파일 목록";
for($i=1; $i< sizeof($fcontents); $i++)
{
if(eregi("(.mp3)|(.wav)|(.mid)|(.mp2)",$fcontents[$i]))
{
eregi("(([a-zA-Z0-9_-./~@?=%&])(.+)(.mp3|.wav|.mid|.mp2))",$fcontents[$i],$memo);                        
if(!eregi($memo[0],$musiclist))
{
$musiclist.=$memo[0];         //중복 파일 검사..
echo" $count <a href='http://$memo[0]'>http://$memo[0]</a> ";  
        //반복문에 의해 배열$memo가 한번만 저장되고 갱신된다.
$count++;
$mp3list.="#EXTM3Un#EXTINF:0,http://$memo[0]nhttp://$memo[0]n";   //m3u파일에서 사용되는 형식으로 바꿈
}
}
}
$fp=fopen("list.m3u","w");  //list.m3u는 findmp3.php파일이 위치한 디렉토리에 생성된다.
fwrite($fp,$mp3list);
fclose($fp);
echo"검색된 총 파일 개수:".($count-1)."개";
}
?>

두번째 파일이름:findmp3_m3u.php
<?
$myurl="http://".$SERVER_NAME."/php";   //자신의 계정주소를 입력한다. list.m3u는 findmp3.php파일이 위치한 디렉토리에 생성된다.
header("location:$myurl/list.m3u");
?>