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文件相关的函数以后小项目基本上都可以不使用到数据库了