文件操作函数:文件的属性

来源:互联网 发布:淘宝号不能登陆优酷 编辑:程序博客网 时间:2024/06/05 07:00
<?php
    /**
     *文件的属性
     */
    function getFilePro($filename){
        if(!file_exists($filename)){   // 检查文件或目录是否存在
            echo "目标文件不存在<br/>";
            return;
        }
        // 判断是否是一个普通文件,如果是则条件成立
        if(is_file($filename)){
            echo $filename."是一个文件<br/>";
        }
        // 判断是否是一个目录,如果是则条件成立
        if(is_dir($filename)){
            echo $filename."是一个目录<br/>";
        }
        echo "文件类型:".getFileType($filename)."<br/>";
        echo "文件大小:".getFileSize(filesize($filename))."<br/>";
        // 判断提供的文件是否可以读取内容
        if(is_readable($filename)){
            echo "文件可读<br/>";
        }
        if(is_writable($filename)){
            echo "文件可写<br/>";
        }
        if(is_executable($filename)){
            echo "文件可执行<br/>";
        }
        echo "文件建立时间:".date('Y 年 m 月 d 日',filectime($filename))."<br/>";
        echo "文件最后更动时间:".date('Y 年 m 月 d 日',filemtime($filename))."<br/>";
        echo "文件最后打开时间:".date('Y 年 m 月 d 日',fileatime($filename))."<br/>";
    }

    // 返回文件类型
    function getFileType($filename){
        $type='';
        switch(filetype($filename)){
            case 'file':
                $type.='普通文件';
                break;
            case 'dir':
                $type.='目录文件';
                break;
            case 'block':
                $type.='块设备文件';
                break;
            case 'char':
                $type.='字符设备文件';
                break;
            case 'fifo':
                $type.='命名管道文件';
                break;
            case 'link':
                $type.='符号链接';
                break;
            case 'unknow':
                $type.='未知类型';
            default:
                $type.='没有检测到的类型';
        }
        return $type;
    }    

    // 文件大小单位转换函数
    function getFileSize($bytes){
        if($bytes>=pow(2,40)){  // pow(x,y)返回x的y次方
            // 将字节转换为同等的TB大小
            $return=round($bytes/pow(1024,4),2);
            $suffix="TB";  // 记录单位
        }elseif($bytes>=pow(2,30)){
            // 将字节转换为同等的GB大小
            $return=round($bytes/pow(1024,3),2);
            $suffix="GB";  // 记录单位
        }elseif($bytes>=pow(2,20)){
            // 将字节转换为同等的MB大小
            $return=round($bytes/pow(1024,2),2);
            $suffix="MB";  // 记录单位
        }elseif($bytes>=pow(2,10)){
            // 将字节转换为同等的KB大小
            $return=round($bytes/pow(1024,1),2);
            $suffix="KB";  // 记录单位
        }else{
            $return=$bytes;
            $suffix="Byte";
        }
        return $return."".$suffix;
    }

    // 输出文件信息
    getFilePro("./demo2.php");

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 冷冻治疗后水泡破了怎么办 冷冻治疗的水泡破了怎么办? 冷冻治疗水泡破了怎么办 脚上冷冻后起泡怎么办 刺猴冷冻后起泡怎么办 隔壁太吵怎么办阴招 楼上有小孩太吵怎么办 捷达小水管睹了怎么办 楼房下水管冻了怎么办 一楼地面很潮湿怎么办 新房子地面有裂缝怎么办 地砖下面的下水管漏水怎么办 速冻饺子冻在一起了怎么办 牛排泡水解冻了怎么办 饺子都粘一起了怎么办 把桃子放冷冻了怎么办 抖音小视频连不上网怎么办 网络视频连不上网怎么办 苹果8视频不清晰怎么办 乳疮腐烂还臭怎么办 冰箱肉腐烂很臭怎么办 指环扣松了怎么办视频 奇迹mu端游杀人了怎么办 奇迹最强者号找不着了怎么办 v领地退不了押金怎么办 全民奇迹sf钻石变负数怎么办 电脑上的新建没有了怎么办 火车上行李箱砸人怎么办 违建拆除后怎么办房产证 外地车遇到限号怎么办 双号限行 违了怎么办 下高速当地限行怎么办 下高速发现限号怎么办 下高速正好限号怎么办 限号不让下高速怎么办 我的歌没有编曲怎么办 奇迹暖暖以前的账号怎么办 孕妇误吃桃胶了怎么办? 孕4个月吃了桃胶怎么办 刚怀孕吃了桃胶怎么办 额头被打了个包怎么办