아래 예는 폴더 내의 내용을 재귀적으로 배열로 만들어 반환하는 사용자 함수입니다.


폴더이면 key 값의 끝에 / 가 붙고, 숫자 key 이면 value 값에 파일 이름이 저장한 재귀적 배열을 반환합니다.


$f 인수에 임의의 값을 지정하면 파일도 배열에 저장합니다.


 <?php
 function file_dir($dir$f null)
 {
    $raw = array();

   $dirpreg_replace(
array("@[\.]+@""@[/]+@"), array(".""/"), trim($dir)
);    if(substr($dir, -1) === '/')    {      $dirsubstr($dir0, -1);    }
   if(
is_dir($dir))    {      clearstatcache();      foreach(@scandir($dir) as $node)      {        if( ($node !== ".") && ($node !== "..") )        {           if(is_file($dir'/' $node))           {              clearstatcache();              if($f)              {                 $raw[] = rawurlencode($node);              }              continue;           }      $raw[rawurlencode($node) . '/'] = 
file_dir($dir'/' $node$f);       }     }   }     return $raw; }
$row file_dir('..../dirbbs/////'true); print_r($row); /* 결과 : Array (     [0] => README.txt     [1] => add.htm     [2] => add_dir.htm     [3] => bbs_mysql     [4] => bbsdir_mysql     [5] => config.inc     [6] => dberror.htm     [7] => delete.htm     [8] => delete_dir.htm     [9] => detail.htm     [file/] => Array         (             [5/] => Array                 (                     [0] => addfind.gif                 )             [8/] => Array                 (                     [0] => write.gif                 )         )
.... } */ ?>