博客
关于我
强烈建议你试试无所不能的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/

你可能感兴趣的文章
PHP安全编程:register_globals的安全性 全局变量注册(转)
查看>>
SQL批处理与事务控制
查看>>
POJ - 2391 最大流
查看>>
WCF学习资料汇总
查看>>
15-Flutter移动电商实战-商品推荐区域制作
查看>>
LeetCode-Best Time to Buy and Sell Stock I&&II
查看>>
Java compiler level does not match解决方法(转)
查看>>
ROS初级教程 cmake cmakelist.txt 的编写教程
查看>>
Comparing Inline and Multi-Statement Table valued UDFs
查看>>
python 机器学习
查看>>
php如何控制客户端生成缓存
查看>>
不错的在线印章生成器网站
查看>>
Arduino控制LCD显示helloworld
查看>>
线程、任务和同步学习笔记(一)
查看>>
JavaScript this
查看>>
OpenJudge/Poj 1163 The Triangle
查看>>
POJ 3130 半平面交+模版改进
查看>>
Python基础二
查看>>
AndroidStudio -- AndroidStuido中找不到cache.properties文件
查看>>
nginx 无法访问root权限的文件内容
查看>>