function rmblankfile($dir, $size = 0){
 if(!is_dir($dir)){
  return;
 }
 $handle = opendir($dir);
 while($sub = readdir($handle)){
  if($sub == '.' or $sub == '..'){
   continue;
  }
  $filepath = $dir . '/' . $sub;
  if(is_dir($filepath)){
   #如果是文件夹就递归删除该文件夹下的文件
   rmblankfile($filepath, $size);
  }else if(is_file($filepath) and filesize($filepath) <= $size){
   unlink($filepath);
  }
 }
}
这个保存PHP后怎么使用啊 
问题补充:
我要做的是,目录里有的文件是等于6.3KB的,目录结构式news/二级文件夹下的文件查到后自动删除
注意news/文件夹下有很多二级文件夹

解决方案 »

  1.   

    rmblankfile("news/", floor(6.3*1024));
      

  2.   

    函数里有个加/的操作,参数里多了个/
    rmblankfile("news", floor(6.3*1024));
      

  3.   

    是指页面超时吗?用下面代码试试
    set_time_limit(0);
      

  4.   

    当有1千万条数据的时候CUP和内存点死机吧
    有没有什么好的解决方法 
      

  5.   

    function rmblankfile($dir, $size = 0){
     if(!is_dir($dir)){
      return;
     }
     $handle = opendir($dir);
     while($sub = readdir($handle)){
      if($sub == '.' or $sub == '..'){
      continue;
      }
      $filepath = $dir . '/' . $sub;
      if(is_dir($filepath)){
      #如果是文件夹就递归删除该文件夹下的文件
      rmblankfile($filepath, $size);
      }else if(is_file($filepath) and filesize($filepath) <= $size){
      unlink($filepath);
      }
     }
     closedir($handle);
    }
      

  6.   

    上面还用加set_time_limit(0);吗 非常感谢 是不是现在就不占资源了,不能出现失败什么 的了
      

  7.   

    set_time_limit(0);//这个是取消php脚本执行时间的限制
    句柄释放掉会减少一定的资源占用,但是递归本身就会占用很多资源,这样写可以在每执行完第一个最下级子文件夹后释放掉此文件夹的句柄,否则,句柄一直在内存中,数据量大的时候累积起来,很容易溢出
      

  8.   

    [Quote=引用 12 楼 zhang6464 的回复:]太感谢您了,好人一生平安,祝福你和热心帮助我的朋友