php 文件处理相关

循环路径下的所有文件
static function showDir($dirpath)
    {
        if (!is_dir($dirpath)) {
            return false;
        }
        $handle = scandir($dirpath);
        $files = [];
        foreach ($handle as $key => $value) {
            if ($value == '.' || $value == '..') {
                continue;
            }
            $files[$key]['name'] = $value;
            $files[$key]['type'] = filetype($dirpath . $value);
            $files[$key]['size'] = self::getFileSize(filesize($dirpath . $value));
            $files[$key]['date'] = date("Y/m/d", filectime($dirpath . $value));
            $files[$key]['path'] = $dirpath . $value;
//开启递归
//            if(is_dir($dirpath.$files[$key]['name'])){
//                $files[$key]['child']=ShowDir($files[$key]['path'].'\\');
//            };
        }
        return $files;
    }
将获取的文件大小进行转换方便阅读.
static function getFileSize($fileSize)
    {
        $unit = ['TB' => pow(1024, 4),'GB' => pow(1024, 3),'MB' => pow(1024, 2),'KB' => 1024,'BY'=>1];
        $sizeUnit = '';
        foreach ($unit as $key => $value) {
            if ($fileSize >= $value) {
                $sizeUnit = round(($fileSize / $value),0).' '.$key;
                break;
            }
        }
        return $sizeUnit;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容