SCM Player가 지원하는 RSS를 이용한 재생목록 생성을 위해, 아무 지식도 없이
며칠동안 여러 코드를 무작정 분석해
RSS 2.0을 지원하는 XML 생성 PHP를 하나 만들었다.
이 글을 읽기에 앞서, 나는 DB(데이터 베이스)와 crontab을 이용한 RSS 제작방법임을 말해둔다.
\n"; //6. 결과 처리 while($row = mysql_fetch_array($result)) { $xml_item = $row['name']; $xml_title = $row['title']; echo $row['name']." "; $xmlList.="- "; } $xmlDoc="
$xml_title $xml_item"; //XmlDoc의 내용을 가지고 xml파일 생성하기 $fp = fopen("/var/www/html/SoundCloud/rss.xml","w"); fwrite($fp, $xmlDoc); fclose($fp); ?> $xmlList
전문가가 이 글을 볼 일이 거의 없을테니, 제일 중요한 (독자가 원하는 부분)을 짚어보겠다.
아래는 SCM Player가 인식할 수 있는 RSS 예시이다.
SCMPlayer는 링크를 따라 갔을때 바로 음악이 재생 될 수 있는 링크형식이여야 한다.
이해가 잘 되지 않으면 링크를 클릭해보면 이해할것이다.(http://miuna3.asuscomm.com/SoundCloud/uploads/tracks/1125596969_1542649736_1826030225.mp3)
<item>은 rss에서 필수이고, <title>,<link>는 각각 노래 제목과 링크를 달아주어야 한다. 이 두가지를 제외하고는 필요가 없다.
$mysql_hostname = 'Host주소'; $mysql_username = 'DB 계정'; $mysql_password = 'DB 비밀번호'; $mysql_database = 'DB 이름'; $mysql_port = '3306'; $mysql_charset = 'utf8';위의 코드는 개인의 DB정보에 맞게 수정해주면 된다. Ex) $mysql_username = 'Miuna3'; $query = "SELECT title, name From tracks"; 은 쿼리 명령어를 잠시 담아두는 변수이다.
해석을 해보자면, 'DB에 있는 tracks테이블의 title과 name의 칼럼을 검색'
데이터 베이스를 보면 title칼럼은 노래 제목, name 칼럼은 파일링크 임을 알 수 있다.
$xml_item = $row['name']; // xml_item 은 데이터 베이스 name칼럼을 가져다 쓴다.
$xml_title = $row['title']; // xml_title 은 데이터 베이스 title칼럼을 가져다 쓴다.
$xmlList.="<span style="font-family: '맑은 고딕', sans-serif; color: rgb(0, 0, 0);">$xml_title</span> $xml_item "; // 사이에 들어가는 것은 xml_title 사이는 xml_item
//통합 XmlDoc의 내용을 구성 $xmlDoc="여기서 xml확장자로 빈 파일을 미리 그 경로에 업로드 해두고 권한 (chmod 777)로 지정해둔다."; //XmlDoc의 내용을 가지고 xml파일 생성하기 $fp = fopen("/var/www/html/SoundCloud/rss.xml","w"); fwrite($fp, $xmlDoc); fclose($fp); ?> $xmlList
그런다음 터미널을 열고 crontab에 등록해주자.
# crontab -e
한시간에 한번씩 원하는 페이지를 실행
0 * * * * wget -O - -q -t 1 http://경로/제작한PHP이름.php
'Coding > PHP' 카테고리의 다른 글
PHP로 리다이렉트 시키기 (0) | 2016.11.13 |
---|---|
(Mysql) DB연결 PHP작성 (0) | 2016.11.13 |
(MySQLi) DB연결 PHP 작성 (0) | 2016.11.13 |
PHP로 폴더안의 음악파일 목록 rss2.0 XML 만들기 (0) | 2016.11.13 |