我正在尝试将目录的子目录名称拉入数组。我尝试了一些不同的东西。我在这里做错了什么?
我从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行 排列 ( )