作业创建目录,读取目录。目录大小

Original 2019-02-25 14:59:00 300
abstract:/**  * 创建目录的函数  * @param $dirname  目录  * @return string  提示信息  */ function createFolder($dirname){     //当前目录下
/**
 * 创建目录的函数
 * @param $dirname  目录
 * @return string  提示信息
 */
function createFolder($dirname){
    //当前目录下是否存在同名文件夹名称
    if(file_exists($dirname)){
        return '该目录存在相同的文件夹';
    }

    //创建目录
    if(mkdir($dirname,0777,true)){
        return '成功';
    }
    return "创建失败";
}/**
 * 读取目录
 * @param $dirName  目标目录
 * @return array|string  数组| 提示信息
 */
function readDirectory($dirName){
    if(is_dir($dirName)){
       $data = opendir($dirName);
       $arr = [];  //在使用递归时这里的值不会被替换掉  在php中如果存在全局变量,那么此处赋值将不影响全局变量的值。也就是说赋值无效
        global $arr;  //使用关键字定义后。会变成全局变量,这样php中函数的赋值。就会无效化
       while($row = readdir($data)){
           if($row != '.' && $row != '..'){
               $lujin = $dirName.'/'.$row; //将目录也拼接进去
               //如果是文件
               if(is_file($lujin)){
                 $arr['file'][] = $lujin;
               }
               //如果是目录
               if(is_dir($lujin)){
                   $arr['dir'][] = $lujin;
                   $fun = __FUNCTION__;
                   $fun($lujin);
               }
           }
       }
       return $arr;
    }
    return "没有存在该目录";
}/**
 * 返回目录大小
 * @param $dirName 目标目录
 * @return string  目录大小|提示信息
 */
function dirSize($dirName){
    $num = 0;  //由于下面使用了关键字。所以此处不会被赋值  在php中如果存在全局变量,那么此处赋值将不影响全局变量的值。也就是说赋值无效
    global $num; //使其成为全局变量,使用递归函数时。尤其重要
    //判断是否存在该目录
    if(is_dir($dirName)){
       $data2 = opendir($dirName);
       //循环遍历目录
       while($row = readdir($data2)){
           if($row != '.' && $row != '..'){
               //拼接路劲
               $lujin = $dirName."/".$row;
               //是否为文件
                if(is_file($lujin)){
                    $num+=filesize($lujin);
                }
               //是否为目录
                if(is_dir($lujin)){
                  $fun = __FUNCTION__;
                  $fun($lujin);
                }
           }
       }
        return $num;
    }
    return "不是目录";
}

Correcting teacher:韦小宝Correction time:2019-02-25 17:21:58
Teacher's summary:写的很不错 掌握了PHP文件相关的函数以后小项目基本上都可以不使用到数据库了

Release Notes

Popular Entries