如何将目录的文件和子目录名称拉入数组?

时间:2014-03-10 01:28:28

标签: php arrays

我正在尝试将目录的子目录名称拉入数组。我尝试了一些不同的东西。我在这里做错了什么?

我从php scandir() documentation page中删除了这个小功能。


$data_dir = 'path/to/data_directory/';

function dirToArray( $data_dir ) { 

   $result = array(); 

   $cdir = scandir( $data_dir );          // line 19
   foreach ($cdir as $key => $value) 
   { 
      if (!in_array($value,array(".",".."))) 
      { 
         if (is_dir($data_dir . DIRECTORY_SEPARATOR . $value)) 
         { 
            $result[$value] = dirToArray($data_dir . DIRECTORY_SEPARATOR . $value); 
         } 
         else 
         { 
            $result[] = $value; 
         } 
      } 
   } 

   return $result; 
}

$data_dir_array = dirToArray( $data_dir );

print_r( $data_dir_array );

输出中

警告:scandir(/ Users / alexcory / Library / Application \ Support / Alfred \ 2 / Workflow \ Data):无法打开dir:/ Users / alexcory / Library / Application Support / Alfred 2中没有这样的文件或目录第19行/Alfred.alfredpreferences/workflows/user.workflow.36DE4754-2C41-4A38-BA8A-FF48D97C6371/open_data.php

警告:scandir():(错误2):/ Users / alexcory / Library / Application Support / Alfred 2 / Alfred.alfredpreferences / workflows / user.workflow.36DE4754-2C41-4A38-BA8A中没有这样的文件或目录第19行-FF48D97C6371 / open_data.php

警告:在/ Users / alexcory / Library / Application Support / Alfred 2 / Alfred.alfredpreferences / workflows / user.workflow.36DE4754-2C41-4A38-BA8A-FF48D97C6371 / open_data.php上为foreach()提供的参数无效第20行 排列 ( )

0 个答案:

没有答案