搜索

php原生目录创建、读取、目录大小

原创 2019-04-05 17:00:04 297
摘要:<?php /**  * 目录创建操作  * @param $dirName      // 需要创建的目录名称  * @return string       提示信息
<?php

/**
 * 目录创建操作
 * @param $dirName      // 需要创建的目录名称
 * @return string       提示信息
 */
function create_folder($dirName)
{
    // 判断是否存在相同文件或目录
    if(file_exists($dirName))
    {
        return '存在相同文件';
    }
    // 创建目录并判断
    if(mkdir($dirName,0777,true))
    {
        return '目录创建成功!';
    }
    return '目录创建失败!';
}

/**
 * 目录读取操作
 * @param $path     // 读取的目录
 * @return array       数组|失败
 */
function read_dir($path)
{
    $dir = opendir($path);
    $arr = [];
    while ($item = readdir($dir))
    {
        if($item != '.' && $item != '..')
        {
            $paths = $path.'/'.$item;
            if(is_file($paths))
            {
                $arr['file'][] = $item;
            }

            if(is_dir($paths))
            {
                $arr['dir'][] = $item;
            }
        }
    }

    // 释放句柄
    closedir($dir);

    return $arr;
}

/**
 * 字节转换操作
 * @param $byte          字节大小
 * @param int $precision  保留小数位
 * @return string   提示信息
 */
function trans_byte($byte,$precision = 2)
{
    $KB = 1024;
    $MB = 1024*$KB;
    $GB = 1024*$MB;
    $TB = 1024*$GB;

    if($byte < $KB)
    {
        return $byte.'B';
    } else if($byte < $MB) {
        return round($byte / $KB,$precision).'KB';
    } else if($byte < $GB) {
        return round($byte / $MB,$precision).'MB';
    } else if($byte < $TB) {
        return round($byte / $GB,$precision).'GB';
    } else {
        return round($byte / $TB,$precision).'TB';
    }
}

?>


批改老师:西门大官人批改时间:2019-04-08 09:57:39
老师总结:函数封装的很好,还可以进一步把它们封装到一个类里面去。

发布手记

热门词条