博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容
阅读量:7007 次
发布时间:2019-06-27

本文共 2520 字,大约阅读时间需要 8 分钟。

① 读取文件夹大小

a. 封装计算文件夹大小的函数

b.  打开文件夹

c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小;如果是文件夹,则递归调用该函数

 

注意两个问题:

a. 在计算每个文件夹大小之前,应该清空变量 $size,否则文件夹大小会累加(index.php)

 

b. 在计算文件夹大小的方法中,$size 应该设置为全局变量(dir.func.php)

//得到文件夹大小function dirSize($path){    $handle = opendir($path);    $size = 0;    //static $size;    global $size;    while(($item = readdir($handle)) !== false){        if($item != '.' && $item != '..'){            if(is_file($path.'/'.$item)){                $size += filesize($path.'/'.$item);            }else if(is_dir($path.'/'.$item)){                dirSize($path.'/'.$item);                //递归的另一种写法                //$func = __FUNCTION__;                //$func($path.'/'.$item);            }        }    }    closedir($handle);    return $size;}

 

index.php:

{$content}"; //高亮显示PHP代码 //高亮显示字符串中的PHP代码 if(strlen($content)){ $newContent=highlight_string($content,true); //高亮显示文件中的PHP代码 //highlight_file($filename); $str=<<
$newContent
EOF; echo $str; }else{ alertMes("文件没有内容,请编辑再查看!",$redirect); }}else if($act == 'editContent'){ $content = file_get_contents($filename); $str=<<
EOF; echo $str; }else if($act == 'doEdit'){ //修改文件内容 $content = $_POST['content']; if(file_put_contents($filename, $content)){ $mes = '文件修改成功'; }else if(!$content){ $mes = '文件内容被清空'; }else{ $mes = '文件修改失败'; } alertMes($mes,$redirect);}else if($act == 'renameFile'){ //重命名文件 $str = <<
请填写新文件名:
EOF;echo $str;}else if($act == 'doRename'){ //实现重命名操作 $newname = $_POST['newname']; $mes = renameFile($filename,$newname); alertMes($mes,$redirect);}else if($act == 'delFile'){ $mes = delFile($filename); alertMes($mes,$redirect);}else if($act == 'downFile'){ downFile($filename);}?>
Insert title here

在线文件管理器

编号 名称 类型 大小 可读 可写 可执行 创建时间 修改时间 访问时间 操作
View Code

dir.func.php:

View Code

 

转载地址:http://fputl.baihongyu.com/

你可能感兴趣的文章
企业如何克服混合云存储问题
查看>>
mysql和oracle用法的区别
查看>>
亿级日志平台之——ELK Stack实践
查看>>
前台传参到后台中文乱码解决方法
查看>>
Confluence 6 大致的用户规模示例
查看>>
静态路由原理和实验
查看>>
Docker架构、镜像和容器
查看>>
LNMP架构搭建(脚本)
查看>>
作为一名Java程序员的必修课+java_框架面试题(含答案)
查看>>
图片文字转word文档文字的方法
查看>>
idea在线生成注册码地址2018已经验证可用
查看>>
AJPFX关于StringBuffer,StringBuilder类总结(二)
查看>>
keepalived+lvs实现lvs的高可用
查看>>
linux下压缩与解压缩以及打包命令详解
查看>>
深入浅出JDBC(二) - Dbutils
查看>>
elasticsearch5.0 环境搭建
查看>>
redis pipe管道
查看>>
git:rejected because the tip of your current branch is behind
查看>>
我的友情链接
查看>>
基层公务员自述:每天擦桌子证明自己还活着(全文)
查看>>