喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: 有什么办法可以最安全的删除一个含有数十万个文件的文件夹??  
 
Ican
中级会员
Rank: 3Rank: 3
初级会员



UID 66282
精华 0
积分 361
帖子 249
金钱 361 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-8-29
状态 离线
有什么办法可以最安全的删除一个含有数十万个文件的文件夹??

我在村里搜了一下资料,在大侠们的基础上写了以下程序,目的是要删除服务器上某含有数十万个文件的目录

<?php
$time_begin 
time();
$TimeLimit=5000;
set_time_limit($TimeLimit);
function 
lwg_delfile($path){
    if (
false==($handle = @opendir($path)))return false;
    while (
false !== ($file readdir($handle))) { 
        if (
$file != "." && $file != ".."){
            if (
is_dir($path."/".$file))lwg_delfile($path."/".$file);
            else @
unlink($path."/".$file); 
        }
    }
    
closedir($handle); 
    if (!@
rmdir($path))return false;
}
//$dir="js"; //要删除的文件夹
$dir=$_GET[dir];
if(
lwg_delfile($dir)==false){echo "恭喜您,已经成功将“$dir ”文件夹下所有文件干掉了!";}else {echo "很抱歉,干不了“$dir ”文件夹下所有文件啊!!";}
$time_end time();
$time_diff $time_end $time_begin;
print 
"<hr>共用了  " $time_diff " 秒<hr>";
?>
可是,程序还没运行完,空间CPU超标了,Service Unavailable!!
怎样改才不会出现Service Unavailable啊??




我的破站:http://www.chjia.com/
http://mtv.chjia.com/
2006-7-29 10:09 PM#1
查看资料  访问主页  发短消息  顶部
 
dzjzmj
中级会员
Rank: 3Rank: 3
老会员



UID 25675
精华 0
积分 359
帖子 554
金钱 359 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-1-9
来自 福建福州
状态 离线
[推荐阅读] 贴一个验证码的函数
可以分数量操作吧,一次一万这样子



PHP代码教程,一个留言本引发的教程http://coderhome.net/
2006-7-29 11:00 PM#2
查看资料  访问主页  发短消息  QQ  顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2286
帖子 3075
金钱 2286 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 讨论一下像pear:db和adodb这些数据库抽象层
你什么文件夹哦,那么多文件……
直接用命令行或shell删除吧
exec()




学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-7-29 11:50 PM#3
查看资料  Blog  发短消息  顶部
 
fly512 (我本如是)
版主
Rank: 7Rank: 7Rank: 7
人生的另一半


UID 42566
精华 0
积分 2461
帖子 2329
金钱 1731 喜悦币
威望 0
人脉 730
阅读权限 100
注册 2004-10-31
来自 亚特兰迪斯
状态 离线
[推荐阅读] 懒人进来,share一个ftp.class.php
我数一下我的电脑上有多少



不要使用数据库
2006-7-30 11:57 AM#4
查看资料  访问主页  Blog  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
风云山庄大少爷


UID 62639
精华 2
积分 14383
帖子 7272
金钱 14241 喜悦币
威望 20
人脉 122
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读] 做一个计数器???
对啊,分批操作或是使用系统命令,一次性用unlink操作十万个并不是太好的办法.



 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流)、饿踢Blog

寧可在嘗試中失敗,也不在保守中成功!

不為失敗找理由,只為成功找方法!
 
2006-7-30 12:55 PM#5
查看资料  访问主页  Blog  发短消息  顶部
 
luckyeagle
注册会员
Rank: 2
中级会员



UID 21836
精华 0
积分 192
帖子 195
金钱 192 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2003-7-20
状态 离线
[推荐阅读] 10元求解决个问题
安全删除?用PHP不能安全删除。都可以恢复的。最好直接用低格,最安全了



发现个技术站 www.softdn.com 提供文档,论坛、项目管理平台和免费无限项目WEB空间,还有礼品
2006-7-30 04:30 PM#6
查看资料  发短消息  顶部
 
mayi
中级会员
Rank: 3Rank: 3
初级会员


UID 68189
精华 0
积分 332
帖子 344
金钱 332 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-1-20
状态 离线
[推荐阅读] apache安装失败 installation wizard interrupted
看我的
$d = @dir("$t");
$aa="";
while (false !== @($entry = $d->read())) {
if($entry!=='.' && $entry!=='..'&& $entry!=='Thumbs.db') {
     $aa=$aa.$entry."%%";  }
   
}
$d->close();

$i=@substr_count($aa, '%%');              
             $bb=explode("%%", $aa);
             for($j=0;$j<$i;$j++){   
         @unlink($t.'/'.$bb[$j]);
        }
         @rmdir($t);
}
2006-7-30 08:00 PM#7
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.025403 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP