<?php
$path = "./Club";
$dirs = dir($path);
$d = ".";
$ud = "..";
while(false !== ($entry = $dirs->read())){
if(is_file($path . "/" . $entry)){
$entry=preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $entry);
if($entry==" .. "){$entry=="asdfg";}
$xml_item = "http://도메인/Music/Club/".$entry;
$xml_title = $entry;
echo $entry." "."http://도메인/Music/Club/".$entry." ";
$xmlList.="<item><title>$xml_title</title><link>$xml_item</link></item>";
}
}
$xmlDoc="<?xml version='1.0' encoding='utf8'?> <rss version='2.0'><channel>$xmlList</channel></rss>";
$fp = fopen("./rss.xml","w");
fwrite($fp, $xmlDoc);
fclose($fp);
?>
기본 베이스만 추출하였다.
경로에 제목이 &같은 명령어 형식을 문자 형태로 바꿔주기 위하여 $entry=preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $entry) 를 사용.
if(is_file($path . "/" . $entry)) 를 사용하지 않고 작성하면, 파일 내부의 현재 디렉토리와 상위 디렉토리의 심볼릭 링크 . 와 ..가 같이 XML에 작성되어 버린다.
SCM 플레이어에 사용할 사람들은 if(is_file($path . "/" . $entry))를 꼭 추가해주도록 하자.
파일 이름이 한글이 있는 경우, 한글이 깨져서 인코딩 에러가 표시된다. 그때에는 인코딩 종류를 encoding='EUC-KR' 로 지정해주도록 한다.
'Coding > PHP' 카테고리의 다른 글
PHP로 리다이렉트 시키기 (0) | 2016.11.13 |
---|---|
(Mysql) DB연결 PHP작성 (0) | 2016.11.13 |
(MySQLi) DB연결 PHP 작성 (0) | 2016.11.13 |
(Mysql) PHP를 이용한 RSS 2.0 XML 생성 (0) | 2016.04.15 |