首页 > 学院 > 开发设计 > 正文

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

2019-11-06 07:37:59
字体:
来源:转载
供稿:网友
<?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");
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表