本文整理汇总了PHP中filesystem::map方法的典型用法代码示例。如果您正苦于以下问题:PHP filesystem::map方法的具体用法?PHP filesystem::map怎么用?PHP filesystem::map使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类filesystem
的用法示例。
在下文中一共展示了filesystem::map方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: map
/**
* Map
*
* Recusrively gets all files and folders in the directory, with an optional depth limit
*
* @param string the path to the folder
* @param number how many levels to process
* @return array The list of files and folders
*/
public static function map($path, $levels = NULL, $structured = FALSE, $files_first = FALSE)
{
// trim trailing slashes
$levels = is_null($levels) ? -1 : $levels;
$path = preg_replace('|/+$|', '', $path);
// filesystem objects
$files = array();
$folders = array();
$objects = array_diff(scandir($path), array('.', '..'));
// check through
foreach ($objects as $v) {
$dir = $path . '/' . $v;
if (is_dir($dir)) {
$folders[$v] = $levels != 0 ? filesystem::map($dir, $levels - 1, $structured, $files_first) : $v;
} else {
array_push($files, $v);
}
}
// return
if ($structured) {
return array('/folders' => $folders, '/files' => $files);
} else {
return $files_first ? array_merge($files, $folders) : array_merge($folders, $files);
}
}