웹마스터 팁

미리보기 : http://sjbiz.net/house/study/file.php

////////////////////////////////////////////////////////////////////////////////
///////////////////////////////  활  용  예  제  ///////////////////////////////
////////////////////////////////////////////////////////////////////////////////

require("ListView.php");
$lv=new ListView(15, 15, 450); //뷰 생성
$lv->setUnderLine(false); //밑줄 없음
$lv->setFont("333333|none,0000ff|underline");

//아이콘 삽입
$lv->addIcon("img/folder.jpg");
$lv->addIcon("img/unknown.jpg");
$lv->addIcon("img/sys.jpg");
$lv->addIcon("img/txt.jpg");
$lv->addIcon("img/zip.jpg");
$lv->addIcon("img/bat.jpg");

//제목 삽입
if(!$lv->AddHeads(0, "이름")) exit;
if(!$lv->AddHeads(1, "크기", 50, "right")) exit;
if(!$lv->AddHeads(2, "종류", 40)) exit;
if(!$lv->AddHeads(3, "수정한 날짜")) exit;
if(!$lv->AddHeads(4, "")) exit;

$path="./";
$dir=opendir($path);
$fileArr=array();
while($file=readdir($dir)){
        if(is_dir($path.$file)){ //디렉토리일 경우
                $dirBool=1;
                $sz="";
                $exp="folder";
        }else{ //파일일 경우
                $dirBool=0;
                $sz=@makeDan(filesize($path.$file));
                $tmp=explode(".", $file);
                $exp=$tmp[1]; //확장자
        }

        $kind=filetype($path.$file);
        $modDate=@date("Y-m-d H:m", filectime($path.$file));

        array_push($fileArr, array($file, $sz, $kind, $modDate, $exp));
}
closedir($dir);

while(list(,$f)=each($fileArr)){
        switch(strtolower($f[4])){
        case "folder" : $exp=1; break;
        case "sys" : $exp=3; break;
        case "txt" : $exp=4; break;
        case "zip" : $exp=5; break;
        case "bat" : $exp=6; break;
        default : $exp=2;
        }

        if ($f[2]=="dir") $chk="디렉토리";
        if ($f[2]=="file") $chk=strtolower($f[4])."파일";
        //아이템 삽입
        if(!$lv->Add(0, $f[0], $f[0], $PHP_SELF, $exp)){ echo("error<br>"); exit;}
        if(!$lv->Add(1, $f[0], $f[1])) exit;
        if(!$lv->Add(2, $f[0], $chk)) exit;
        if(!$lv->Add(3, $f[0], $f[3]))exit;
        if(!$lv->Add(4, $f[0])) exit;
}

$lv->Refresh(); //리스트 출력

function makeDan($num){
        if ($num>10000000) return number_format(round($num/1000000))."MB";
        else return number_format(round($num/1000))."KB";
}