조회 : 94
<?
header('Content-type: text/xml; charset=UTF-8');
$gmt = gmdate('D, d M Y H:i:s', time()+3600).' GMT'; header("Expires: ".$gmt); // Date in the past
require_once('_inc.cfg.php'); //설정파일
function getStat($path){
$arr = stat($path);
unset($arr[0]);
unset($arr[1]);
unset($arr[2]);
unset($arr[3]);
unset($arr[4]);
unset($arr[5]);
unset($arr[6]);
unset($arr[7]);
unset($arr[8]);
unset($arr[9]);
unset($arr[10]);
unset($arr[11]);
unset($arr[12]);
$arr['path']=iconv('euc-kr','utf-8',$path);
$arr['enc_path']=rawurlencode($path);
$arr2 = pathinfo($path);
$arr['dirname'] = iconv('euc-kr','utf-8',$arr2['dirname']);
$arr['enc_dirname'] = rawurlencode($arr2['dirname']);
$arr['basename'] = iconv('euc-kr','utf-8',$arr2['basename']);
$arr['enc_basename'] = rawurlencode($arr2['basename']);
$arr['extension'] = strtolower($arr2['extension']);
$arr['label'] = $arr['basename'];
return $arr;
}
function pathToXML($path,$exp_allow=null){
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$filePath = $path.'/'.$file;
if(is_dir($filePath)){
$info = getStat($filePath);
print("\n<dir ");
foreach($info as $key=>$val){
print($key.'="'.htmlspecialchars($val,ENT_QUOTES).'" ');
}
print('type="dir" ');
print('>');
pathToXML($filePath,$exp_allow);
print("</dir>");
}else if(is_file($filePath)){
$info = getStat($filePath);
if($exp_allow!=null && !in_array($info['extension'],$exp_allow)){
continue;
}
print("\n<file ");
foreach($info as $key=>$val){
print($key.'="'.htmlspecialchars($val,ENT_QUOTES).'" ');
}
print('type="file" ');
print(' />');
}
}
}
@closedir($handle);
}
}
//=====
print('<?xml version="1.0" encoding="UTF-8"?>'."\n");
print('<files>');
//pathToXML($path['clip'],$exp['allow']); //$path['clip'] : 경로 , $exp['allow']:허용할 확장자 배열
pathToXML($path['clip']); //모든 확장자
print("\n".'</files>');
?>
그냥 FLASH의 콤퍼넌트와 연결할려고 만들어 본겁니다.
간단한 재귀형식으로 폴더와 파일을 가져와서 XML형식으로 바로 출력합니다.
기본적으로 EUC-KR의 서버안에서 UTF-8로 파일이름과 경로를 바꿔서 사용합니다.
앞에 enc_ 가 붙은건 urlencode 한것으로 이것을 사용해서 URL에 사용하시면 됩니다.
안붙은 것으로 할경우 언어셋 차이로 문제가 생깁니다.
결과예제
<?xml version="1.0" encoding="UTF-8"?>
<files>
<dir dev="3" ino="0" mode="16895" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367813" mtime="1193367813" ctime="1193366656" blksize="-1" blocks="-1" path="clip/공대여자" enc_path="clip%2F%B0%F8%B4%EB%BF%A9%C0%DA" dirname="clip" enc_dirname="clip" basename="공대여자" enc_basename="%B0%F8%B4%EB%BF%A9%C0%DA" extension="" label="공대여자" type="dir" >
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367795" mtime="1193367795" ctime="1193367795" blksize="-1" blocks="-1" path="clip/공대여자/1.txt" enc_path="clip%2F%B0%F8%B4%EB%BF%A9%C0%DA%2F1.txt" dirname="clip/공대여자" enc_dirname="clip%2F%B0%F8%B4%EB%BF%A9%C0%DA" basename="1.txt" enc_basename="1.txt" extension="txt" label="1.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367799" mtime="1193367795" ctime="1193367799" blksize="-1" blocks="-1" path="clip/공대여자/2.txt" enc_path="clip%2F%B0%F8%B4%EB%BF%A9%C0%DA%2F2.txt" dirname="clip/공대여자" enc_dirname="clip%2F%B0%F8%B4%EB%BF%A9%C0%DA" basename="2.txt" enc_basename="2.txt" extension="txt" label="2.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367799" mtime="1193367795" ctime="1193367799" blksize="-1" blocks="-1" path="clip/공대여자/3.txt" enc_path="clip%2F%B0%F8%B4%EB%BF%A9%C0%DA%2F3.txt" dirname="clip/공대여자" enc_dirname="clip%2F%B0%F8%B4%EB%BF%A9%C0%DA" basename="3.txt" enc_basename="3.txt" extension="txt" label="3.txt" type="file" /></dir>
<dir dev="3" ino="0" mode="16895" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367818" mtime="1193367818" ctime="1193366661" blksize="-1" blocks="-1" path="clip/동물아이콘" enc_path="clip%2F%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC" dirname="clip" enc_dirname="clip" basename="동물아이콘" enc_basename="%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC" extension="" label="동물아이콘" type="dir" >
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367818" mtime="1193367795" ctime="1193367818" blksize="-1" blocks="-1" path="clip/동물아이콘/1.txt" enc_path="clip%2F%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC%2F1.txt" dirname="clip/동물아이콘" enc_dirname="clip%2F%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC" basename="1.txt" enc_basename="1.txt" extension="txt" label="1.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367818" mtime="1193367795" ctime="1193367818" blksize="-1" blocks="-1" path="clip/동물아이콘/2.txt" enc_path="clip%2F%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC%2F2.txt" dirname="clip/동물아이콘" enc_dirname="clip%2F%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC" basename="2.txt" enc_basename="2.txt" extension="txt" label="2.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367818" mtime="1193367795" ctime="1193367818" blksize="-1" blocks="-1" path="clip/동물아이콘/3.txt" enc_path="clip%2F%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC%2F3.txt" dirname="clip/동물아이콘" enc_dirname="clip%2F%B5%BF%B9%B0%BE%C6%C0%CC%C4%DC" basename="3.txt" enc_basename="3.txt" extension="txt" label="3.txt" type="file" /></dir>
<dir dev="3" ino="0" mode="16895" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367823" mtime="1193367823" ctime="1193366661" blksize="-1" blocks="-1" path="clip/작은아이콘" enc_path="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" dirname="clip" enc_dirname="clip" basename="작은아이콘" enc_basename="%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" extension="" label="작은아이콘" type="dir" >
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367821" mtime="1193367795" ctime="1193367821" blksize="-1" blocks="-1" path="clip/작은아이콘/1.txt" enc_path="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC%2F1.txt" dirname="clip/작은아이콘" enc_dirname="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" basename="1.txt" enc_basename="1.txt" extension="txt" label="1.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367821" mtime="1193367795" ctime="1193367821" blksize="-1" blocks="-1" path="clip/작은아이콘/2.txt" enc_path="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC%2F2.txt" dirname="clip/작은아이콘" enc_dirname="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" basename="2.txt" enc_basename="2.txt" extension="txt" label="2.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367821" mtime="1193367795" ctime="1193367821" blksize="-1" blocks="-1" path="clip/작은아이콘/3.txt" enc_path="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC%2F3.txt" dirname="clip/작은아이콘" enc_dirname="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" basename="3.txt" enc_basename="3.txt" extension="txt" label="3.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367823" mtime="1193367795" ctime="1193367823" blksize="-1" blocks="-1" path="clip/작은아이콘/사본 - 1.txt" enc_path="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC%2F%BB%E7%BA%BB%20-%201.txt" dirname="clip/작은아이콘" enc_dirname="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" basename="사본 - 1.txt" enc_basename="%BB%E7%BA%BB%20-%201.txt" extension="txt" label="사본 - 1.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367823" mtime="1193367795" ctime="1193367823" blksize="-1" blocks="-1" path="clip/작은아이콘/사본 - 2.txt" enc_path="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC%2F%BB%E7%BA%BB%20-%202.txt" dirname="clip/작은아이콘" enc_dirname="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" basename="사본 - 2.txt" enc_basename="%BB%E7%BA%BB%20-%202.txt" extension="txt" label="사본 - 2.txt" type="file" />
<file dev="3" ino="0" mode="33206" nlink="1" uid="0" gid="0" rdev="3" size="0" atime="1193367823" mtime="1193367795" ctime="1193367823" blksize="-1" blocks="-1" path="clip/작은아이콘/사본 - 3.txt" enc_path="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC%2F%BB%E7%BA%BB%20-%203.txt" dirname="clip/작은아이콘" enc_dirname="clip%2F%C0%DB%C0%BA%BE%C6%C0%CC%C4%DC" basename="사본 - 3.txt" enc_basename="%BB%E7%BA%BB%20-%203.txt" extension="txt" label="사본 - 3.txt" type="file" /></dir>
</files>
제목 | 작성자 | 날짜 |
---|---|---|
공대여자 | ||
공대여자 | ||
mins01 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 |