本文整理汇总了PHP中Lib::readDirectory方法的典型用法代码示例。如果您正苦于以下问题:PHP Lib::readDirectory方法的具体用法?PHP Lib::readDirectory怎么用?PHP Lib::readDirectory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lib
的用法示例。
在下文中一共展示了Lib::readDirectory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: readDirectory
public static function readDirectory($dir, $recursively, $called = false)
{
if (self::$_files) {
if ($dir) {
$files = preg_grep('/^' . str_replace('/', '\\/', preg_quote($dir . '/')) . '/', array_keys(self::$_files));
} else {
$files = array_keys(self::$_files);
}
if (!count($files)) {
header("HTTP/1.0 404 Not Found");
return;
}
$f = array();
$d = array();
foreach ($files as $i => $name) {
$fname = substr($name, $dir ? strlen($dir) + 1 : 0);
if (strpos($fname, '/') === false) {
// that's a file
$f[$fname] = 1;
} else {
// that's a directory
$dirName = substr($fname, 0, strpos($fname, '/'));
if ($recursively) {
$d[$dirName] = self::readDirectory((strlen($dir) ? $dir . '/' : '') . $dirName, true, true);
} else {
$d[$dirName] = 2;
}
}
}
$final = array_merge_recursive($f, $d);
return $called ? $final : json_encode($final);
}
if (is_file($dir)) {
return 'That\'s a file';
}
if (!is_dir($dir)) {
header("HTTP/1.0 404 Not Found");
return;
}
return json_encode(Lib::readDirectory($dir, !!strlen($recursively), false));
}