我正在尝试将目录的子目录的名称拉入数组 . 我尝试了一些不同的东西 . 我在这做错了什么?
我把这个小功能从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 );
ouput
警告:scandir(/ Users / alexcory / Library / Application \ Support / Alfred \ 2 / Workflow \ Data):无法打开dir:/ Users / alexcory / Library / Application Support / Alfred 2 / Alfred中没有这样的文件或目录 . 第19行的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-FF48D97C6371 /中没有这样的文件或目录第19行的open_data.php
警告:在/ Users / alexcory / Library / Application Support / Alfred 2 / Alfred.alfredpreferences / workflows / user.workflow.36DE4754-2C41-4A38-BA8A-FF48D97C6371 / open_data.php第20行数组中为foreach()提供的参数无效()