已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 源码

标题: php遍历根目录删除小于*K的文件

作者: @Ta

时间: 2014-06-22

点击: 5130

@cnhong 要的代码,其实这不是你要的代码,你说子目录很多,小文件很多,然后写个代码,小于多少K就删除,这样的话连php文件也会删除,不知道你空间有什么类型的文件,所以你自己修改吧。。
<?
/*
用好平安无事,不会用空间里所有东西将有可能全报废。。。
后果自负
*/
function doalldir($path){if(is_dir($path)){$dr=opendir($path);
while(($fn=readdir($dr))!=''){if($fn!='.' && $fn!='..'){$fn=$path.'/'.$fn;
if(is_file($fn)){
$si=filesize($fn);
//删除.txt后缀名并且小于.等于5K的文件
//说话不清不楚,你自己修改成你想要的
if(preg_match("!\.txt!isU",$fn) and $si<=1024*5){
unlink($fn);
}}elseif(is_dir($fn)) doalldir($fn);
 }}}}
//遍历根目录下所有文件。
#你把它放在什么目录,它就遍历什么目录下的所有文件
$root=getcwd();
;
doalldir($root);

[隐藏样式|查看源码]


『回复列表(14|隐藏机器人聊天)』

1. 危险,不敢用
(/@Ta/2014-06-22 07:25//)

2. 好厉害的样子。。。
 if(preg_match("!\.php!isU",$fn)==null and$si<=1024*1/2)
(/@Ta/2014-06-22 07:33//)

3. @UnderDog ==null?从来没有这么用过

万一他空间还有.jpg..db呢…
@雨伤 也没有那么危险,你传到一个无用的子目录,复制点文件进去,调试好了,然后再传到根目录
(/@Ta/2014-06-22 07:46//)

4. 看看我的:
<?php
$files = glob('txt/*');//txt目录,可以改成根目录
foreach($files as $file) {
if( is_file($file)){
if(filesize($file)<100){
//如果小于100k删除
unlink($file);
 }}}
(/@Ta/2014-06-22 07:57//)

5. @郑锋,呃呃呃。。
(/@Ta/2014-06-22 08:40//)

6. @郑锋,谢谢!我试试
(/@Ta/2014-06-22 09:03//)

7. @郑锋,那就不清楚了,我现在完全没这方面的烦恼,一个目录的文件很多了就换一个目录继续........
(/@Ta/2014-06-22 09:03//)

8. @郑锋,我去试试你写东西先
(/@Ta/2014-06-22 09:04//)

9. @郑锋@无道,都可以用,不错!谢谢!
(/@Ta/2014-06-22 09:13//)

10. @cnhong @UnderDog 这是提取的虎哥的代码 恩,正则那里你自己匹配
(/@Ta/2014-06-22 10:43//)

11. @无道 也行,无法遍历二级目录,各人需求不同吧。
(/@Ta/2014-06-22 10:44//)

12. @郑锋,只能删除指定目录。。。。个人需求不同
(/@Ta/2014-06-22 10:54//)

13. @无道 filesize返回的单位不是b吗?
<100*1024?
(/@Ta/2014-06-22 11:07//)

14. @郑锋,哦。忘记了。。。。。我怎么使用它。。。。{尴尬}
(/@Ta/2014-06-22 11:56//)

回复需要登录

7月30日 17:17 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1