封装创建目录方法、读取目录并包含目录大小的方法 并测试
吴勇文2019-03-31 22:18:32201/**
* 目录创建操作
* @param $dirName // 需要创建的目录名称
* @return string 提示信息
*/
function create_folder($dirName)
{
// 判断是否存在相同文件或目录
if (file_exists($dirName)) {
return "存在相同文件!";
}
// 创建目录并判断
if (mkdir($dirName, 0777, true)) {
return "目录创建成功!";
}
return "目录创建失败!";
}
//echo create_folder('css');
/**
* 目录读取操作
* @param $path // 读取的目录
* @return array 数组|失败
*/
function read_dir($path)
{
$arr = [];
$dir = opendir($path);
while ($item = readdir($dir)) {
if ($item != "." && $item != "..") {
if (is_file($path . "/" . $item)) {
$arr['file'][] = $item;
}
if (is_dir($path . "/" . $item)) {
$arr['dir'][] = $item;
}
}
}
closedir($dir);
return $arr;
}
//var_dump(read_dir('js'));
/**
* 目录大小查询操作
* @param $path // 需要查询大小的目录
* @return int // 目录的大小
*/
function dir_size($path)
{
$sum = 0;
global $sum;
$dir = opendir($path);
while ($item = readdir($dir)) {
if ($item != "." && $item != "..") {
if (is_file($path . "/" . $item)) {
$sum += filesize($path . "/" . $item);
}
if (is_dir($path . "/" . $item)) {
$func = __FUNCTION__;
$func($path . "/" . $item);
}
}
}
return $sum;
}
echo trans_byte(dir_size('js'));