文件系统处理(一)

文件系统,是文件管理系统的简称,指负责管理和存储文件信息的软件机构。
(一)文件类型(如下图所示)
这里写图片描述
在PHP中,可以使用filetype()函数查询文件类型。
(二)文件属性(属性函数如下图所示)

这里写图片描述
自定义一个获取文件大小(带单位转换)的函数,如下

function getFileSize($filesize){
    if($filesize > pow(2, 40)){
        $res = round($filesize/pow(1024, 4), 2);
        $suffix = "TB";//单位TB
    }elseif($filesize > pow(2, 30)){
        $res = round($filesize/pow(1024, 3), 2);
        $suffix = "GB";//单位GB
    }elseif($filesize > pow(2, 20)){
        $res = round($filesize/pow(1024, 2), 2);
        $suffix = "MB";//单位MB
    }elseif($filesize > pow(2, 10)){
        $res = round($filesize/pow(1024, 1), 2);
        $suffix = "KB";//单位KB
    }else{
        $res = $filesize;
        $suffix = "B";//单位B
    }
    return $res . $suffix;
}
//上述函数的调用
$filename = "test.php";
echo $filename . "文件大小为:" . getFileSize(filesize($filename));

(三)目录基本操作
1、遍历目录

//遍历目录
    function traverseDir($dir){
        $num = 0;
        $res = '<table border="1" align="center" width="600"><caption>目录文件' . $dir;

        //判断指定路径是否存在
        if(file_exists($dir)){
            //指定路径是否是目录
            if(is_dir($dir)){
                $res .= "下的文件</caption><tr bgcolor='#ccc'><th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th></tr>";
                $dir_handle = opendir($dir);
                while($filename = readdir($dir_handle)){
                    $bgcolor = $num++%2 == 0 ? '#ddd' : '#ccc';
                    $filepath = $dir . "/" . $filename;
                    $res .= "<tr bgcolor=" . $bgcolor . "><td>" . $filename . "</td><td>" . filesize($filepath) . "</td><td>" . filetype($filepath) . "</td><td>" . date("Y/m/d H:i:s",filemtime($filepath)) . "</td></tr>";
                }
                $res .= "</table><p align='center'>" . $dir . "目录下文件个数:" . $num . "</p>";
                closedir($dir_handle);
            }else{
                $res .= "是普通文件,请传递目录文件</caption></table>";
            }
        }else{
            $res .= "不存在</caption></table>";
        }
        return $res;
    }
    echo traverseDir("example");

上述代码运行结果,
这里写图片描述
上述函数中使用目录遍历函数介绍:
(1)opendir()函数用于打开指定目录,参数是一个目录的路径(包括目录名),返回值是可供其他目录函数使用的目录句柄(资源类型)。如果该目录不存在或没有访问权限,则返回FALSE。
(2)readdir()函数用于读取指定目录,参数是使用opendir()函数打开的目录句柄,返回当前目录指针位置的文件名,并将目录指针向后移动一位。当指针位于目录的结尾时,因为没有文件存在返回FALSE。
(3)closedir()函数用于关闭指定目录,参数是使用opendir()函数打开的目录句柄,无返回值,硬性后将关闭打开的目录。

—-细说PHP读书笔记

猜你喜欢

转载自blog.csdn.net/yixu0534/article/details/79236909
今日推荐