도아주세요.. ㅜ_ㅜ..

도아주세요.. ㅜ_ㅜ..

QA

도아주세요.. ㅜ_ㅜ..

본문

아까전의 질문을 살짝 변형해서 다시 질문드립니다.

 

data/memberfile/ 이폴더를 중심으로 해서 

for 문이나 while 문으로 리스트를 짜고 싶은데.. 도아주세요 ....

db 로 짜는건 할수가있는데 일반 폴더식으로 for 문이나 while 문을 짜는법을 모르겠네요..혹시나 이런거 있긴한거지요 ?..

이 질문에 댓글 쓰기 :

답변 3

함수가 몇가지 사용이 됩니다

opendir()

readdir();

closedir();

세개의 함수가 필요하구요  

이함수의 정확한 사용법은 php 메뉴얼을 참조 하시면 됩니다 

 

파일명과 디렉토리 명을 따로 저장해 보겠습니다

    $pwd = "검색하고 싶은 디렉토리"; 

    //디렉토리 명만 뽑아오기 

    $dir_handle = opendir($pwd);
    while(false !== ($element = readdir($dir_handle))){
        if(is_dir($pwd.$element)){
            if($element != '.' && $element != '..'){
                $element_dir[] = $element."|dir"; //디렉토리명
            }
        }
    }
    closedir($dir_handle); 

 

    //파일명만 불러오기
    $dir_handle = opendir($pwd);
    while(false !== ($element = readdir($dir_handle))){
        if(is_file($pwd.$element)){
            $element_file[] = $element."|file"; //파일명
        }
    }
    closedir($dir_handle);

위와같이 파일명과 디렉토리 명을 따로 불러오는 이유는 이놈의 파일이나 디렉토리들을 정리하고 보기 편하게 하기 위해서 입니다 

이렇게 저장된 변수들을 usort()를 통해서 문자별로 정렬을 시켜줍니다 

그리고 출력을 해주시면 되겠지요

 

//sort($element_dir); // 디렉토리 문자별 정리
usort($element_dir,"strnatcmp");
if($element_file){
   //sort($element_file); // 파일 문자별 정리
   usort($element_file,"strnatcmp");
   $element_dirfile = array_merge($element_dir,$element_file);
}else{
   $element_dirfile = $element_dir;
}

 

이제 정렬이 끝났으니 출력해야겠죠

$element_num = sizeof($element_dirfile);

for($i=0; $i<$element_num; $i++){

    echo($element_dirfile[$i]."<br/>"); 

 

 

 

 

 

 

 

 

 

array 가 뜨는건 디렉토리 지정을 제대로 안해줘서 이고

코드 오류가 나는건 $element를 정의 안해줘서겠죠..

documentRoot 기준으로 data/memberfile/​ 까지의 경로를 $directory 에 매칭해주세요.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 39
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT