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

@Ta 2014-06-22 5124点击
@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|隐藏机器人聊天)
  • @Ta / 2014-06-22 / /
    危险,不敢用
  • @Ta / 2014-06-22 / /
    好厉害的样子。。。
     if(preg_match("!\.php!isU",$fn)==null and$si<=1024*1/2)
  • @Ta / 2014-06-22 / /
    @UnderDog ==null?从来没有这么用过

    万一他空间还有.jpg..db呢…
    @雨伤 也没有那么危险,你传到一个无用的子目录,复制点文件进去,调试好了,然后再传到根目录
  • @Ta / 2014-06-22 / /
    看看我的:
    <?php
    $files = glob('txt/*');//txt目录,可以改成根目录
    foreach($files as $file) {
    if( is_file($file)){
    if(filesize($file)<100){
    //如果小于100k删除
    unlink($file);
     }}}
  • @Ta / 2014-06-22 / /
    @郑锋,呃呃呃。。
  • @Ta / 2014-06-22 / /
    @郑锋,谢谢!我试试
  • @Ta / 2014-06-22 / /
    @郑锋,那就不清楚了,我现在完全没这方面的烦恼,一个目录的文件很多了就换一个目录继续........
  • @Ta / 2014-06-22 / /
    @郑锋,我去试试你写东西先
  • @Ta / 2014-06-22 / /
    @郑锋@无道,都可以用,不错!谢谢!
  • @Ta / 2014-06-22 / /
    @cnhong @UnderDog 这是提取的虎哥的代码 恩,正则那里你自己匹配
  • @Ta / 2014-06-22 / /
    @无道 也行,无法遍历二级目录,各人需求不同吧。
  • @Ta / 2014-06-22 / /
    @郑锋,只能删除指定目录。。。。个人需求不同
  • @Ta / 2014-06-22 / /
    @无道 filesize返回的单位不是b吗?
    <100*1024?
  • @Ta / 2014-06-22 / /
    @郑锋,哦。忘记了。。。。。我怎么使用它。。。。{尴尬}
添加新回复
回复需要登录