创建文件及文件信息查询

原创 2019-01-16 15:58:05 454
摘要:/** 创建文件  * @param $filename //需要创建的文件名  * @return string   //提示信息  */ function create_file($filename){     //判断文件是
/** 创建文件
 * @param $filename //需要创建的文件名
 * @return string   //提示信息
 */
function create_file($filename){
    //判断文件是否存在
    if (file_exists($filename)){
        return '文件已经存在!';
    }
    //判断目录是否存在,不存在则创建
    if (!file_exists(dirname($filename))){
        mkdir($filename,0777,true);
    }
    //创建文件
    if (touch($filename)){
        return '文件创建成功!';
    }
    return '文件创建失败!';
}

//echo create_file('web.txt');

/**
 * 文件信息查询操作
 * @param $filename   //需要查询的文件名
 * @return array|string   文件信息
 */
function get_file_info($filename){
    //判断文件是否为正常文件并判断是否为可读文件
    if (!is_file($filename) && !is_readable($filename)){
        return '文件不存在!';
    }
    return [
        'type' => filetype($filename), //文件类型
        'ctime' => date('Y-m-d H:i:s',filectime($filename)),  //文件创建时间
        'mtime' => date('Y-m-d H:i:s',filemtime($filename)),  //文件修改时间
        'atime' => date('Y-m-d H:i:s',fileatime($filename)),   //文件最后一次访问时间
        'size' => trans_byte(filesize($filename))  //文件大小
    ];

}

//var_dump(get_file_info('index.html'));
/**
 * 字节转换操作
 * @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';
        }elseif ($byte < $MB){
            return round($byte / $KB,$precision). 'KB';
        }elseif ($byte < $GB){
            return round($byte / $MB,$precision). 'MB';
        }elseif ($byte < $TB){
            return round($byte / $GB,$precision). 'GB';
        }else{
            return round($byte / $TB,$precision). 'TB';
        }
}


批改老师:天蓬老师批改时间:2019-01-16 16:20:33
老师总结:文件 操作, php的语法与c语言非常相似,或者几乎一致, 毕竟php就是用c语言写的

发布手记

热门词条