본문 바로가기

PHP/PHP Programming

[PHP] 디렉터리 열기 함수

반응형

디렉터리 열기 함수


 #part01

 · dir( ) : 주어진 디렉터리를 오픈합니다.

 · Directory :: read( ) : 디렉터리에 있는 모든 항목의 목록을 얻습니다.

 · Directory :: close( ) : 오픈 된 디렉터리를 닫습니다.

 · Directory :: rewind( ) : 디렉터리 포인터를 처음 위치로 되돌립니다.

 #part02
 · opendir( ) : 디렉터리를 오픈 합니다.
 · readdir( ) : 오픈 도니디렉터리를 닫습니다.
 · rewinddir( ) : 디렉리 포인터를 처음 위치로 되돌립니다.
 #part03
 · scandir( ) : 지정한 경로 안의 파일과 디렉터리 목록을 배열로 반환합니다.







dir( )클래스


Directory dir (string $directory [, resource $context])(PHP4, PHP5)


주어진 디렉터리를 오픈 합니다. 반환되는 리소스는 이후 Directory :: close( ), Directory :: read( ), Direcotry :: rewind( )에 사용됩니다.



  √ directory 인수 : 오픈 할 디렉터리

  √ context 인수 : 컨텍스트를 지정합니다.(php5.0부터)



 파일



 ex01.php
<?php
    $path = "./wicked";    // 열고자 하는 디렉터리
    $entrys = array();       // 디렉터리 내 Entry를 저장하기 위한 배열
    $dirs = dir($path);      // 열기
  
    while(false !== ($entry = $dirs -> read())) {
      
        $entrys[] = $entry;
    }

    $dirs -> close();        // 닫기
    var_export($entrys);
?>
 출력결과


 기본적으로 "."와 ".."는 가져오게 되므로 이를 제외시켜줄 필요가 있다. 디렉터리와 파일을 구분하여 정리해 줄 필요도 있으므로 다음과 같이 처리해 주면 된다.


 ex02.php

<?php
    $path = "./wicked";    // 열고자 하는 디렉터리
    $entrys = array();       // 디렉터리 내 Entry를 저장하기 위한 배열
    $dirs = dir($path);      // 열기
   
    while(false !== ($entry = $dirs -> read())) {
       
        if(($entry != '.') && ($entry != '..')) {

            if(is_dir($path.'/'.$entry)) {    // 디렉터리이면
               
                $entrys['dir'][] = $entry;
            }
               
            else {    //  파일이면
               
                $entrys['file'][] = $entry;
            }
        }
    }

    $dirs -> close(); // 닫기

    $dircnt = count($entrys['dir']);    // 디렉터리 수
    $filecnt = count($entrys['file']);   // 파일 수
   
    echo "디렉터리 수 : ${dircnt} 파일 수 : ${filecnt}<br/>\n";
    var_export($entrys);
?>

 출력결과





반응형

'PHP > PHP Programming' 카테고리의 다른 글

[PHP] (\)역슬래시 기호 삭제하는 stripslashes( ) 함수  (0) 2015.04.21
[PHP] 삼항연산자  (0) 2015.04.20
[PHP] 세션 쿠키 설정 함수  (0) 2015.04.08
[PHP] 클래스의 기본문법  (3) 2015.04.07
[PHP] 상수의 정의  (0) 2015.03.31