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

文件操作函数:目录的基本操作

2019-11-06 07:34:16
字体:
来源:转载
供稿:网友
<?php    /**     *文件操作函数:目录的基本操作     */    // 1.basename()返回路径中的文件名部分    $path='./var/www/html/demo.php';    echo basename($path); // 输出demo.php    echo basename($path,".php"); // 输出demo    // 2.dirname()返回去掉文件名的目录部分    echo dirname($path);  // 输出./var/www/html    echo "<hr/>";    // 3.pathinfo()返回一个关联数组(dirname,basename.extension 目录名,基本名,扩展名)    $path2="./demo2.php";    $info=pathinfo($path2);    echo $info['dirname'].'<br/>';    echo $info['basename'].'<br/>';    echo $info['extension'];    echo "<hr/>";    // 4.遍历文件目录    // opendir() 打开指定目录    // readdir() 读取指定内容    // closedir() 关闭指定目录    // rewinddir() 倒回目录句柄    $num=0;  // 统计字目录和文件个数    $dirname='../../basic';    $dir_handle=opendir($dirname);    // 输出遍历结果    while($file=readdir($dir_handle)){        $dirFile=$dirname."/".$file;        echo "文件名:".$file.'&nbsp;';        echo "文件大小:".filesize($dirFile).'&nbsp;';        echo "文件类型:".filetype($dirFile).'&nbsp;';        echo "文件修改时间".date("Y/n/t",filemtime($dirFile)).'<br/>';        $num++;    }    closedir($dir_handle);    echo "文件总个数:".$num;    echo "<hr/>";    // 5.统计目录大小    function dirSize($diretory){        $dir_size=0;  // 记录定义目录大小的变量并初始化为0        if($dir_handle=opendir($diretory)){  // 打开目录            while($filename=readdir($dir_handle)){ // 读取目录                if($filename!="."&&$filename!=".."){                    $subFile=$diretory."/".$filename;                    if(is_dir($subFile)){  // 判断是否是目录                        $dir_size+=dirSize($subFile);  // 递归                    }elseif(is_file($subFile)){  // 判断是否是文件                        $dir_size+=filesize($subFile);  // 文件大小                    }                }            }            closedir($dir_handle);            return $dir_size;        }    }    $dir_size=dirSize("../../basic");    echo round($dir_size/pow(1024,1),2)."KB";    echo "<hr/>";    // 6.建立和删除目录    function delDir($directory){        if(file_exists($diretory)){            if($dir_handle=opendir($directory)){                while($filename=readdir($dir_handle)){                    if($filename!="."&&$filename!=".."){                        $subFile=$directory."/".$filename;                        if(is_dir($subFile)){                            delDir($subFile);                        }elseif(is_file($subFile)){                            unlink($subFile);  // 删除这个文件                        }                    }                }                closedir($dir_handle);                rmdir($directory);  // 删除空目录            }        }    }    delDir("../../basic");    echo "<hr/>";    // 7.复制目录    function copyDir($dirSrc,$dirTo){        if(is_file($dirTo)){            echo "目标不是目录,不能创建";            return;        }        if(!file_exists($dirTo)){              mkdir($dirTo);  // 创建目标目录        }        if($dir_handle=opendir($dirSrc)){            while($filename=readdir($dir_handle)){                if($filename!="."&&$filename!=".."){                    $subSrcFile=$dirSrc ."/".$filename;                    $subToFile=$dirTo ."/".$filename;                    if(is_dir($subSrcFile)){                        copyDir($subSrcFile,$subToFile);                    }                    if(is_file($subSrcFile)){                        copy($subSrcFile,$subToFile);                    }                }            }            closedir($dir_handle);        }    }    copyDir("../../PHParticle/001","./");
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表