麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
那个大侠帮助优化一下
悬赏分:20 - 2007年08月22日

以下代码100000文件*10000文件夹,就慢得要命...... 那位大侠帮助看一下怎么优化....... 有没有更好的方法....... <?php $Interval = null; Interval(); set_time_limit(3600); $Ftp_Path = ""; $Ftp_Addr = ""; $dir_Array = array(); $file_Array= array(); $dir_Array["F:/软件源码/"]=false; reset($dir_Array); $FSO = opendir(key($dir_Array)); $i=0; while(true){ reset($dir_Array);///设置到第一条目录中 $noncePath = key($dir_Array);///当前操作目录 //echo count($dir_Array)."
"; if(!$dir_Array[$noncePath]){ //echo "$noncePath
"; //echo count($dir_Array)."
"; $FSO = opendir($noncePath);//打开目录 while($flist=readdir($FSO)){ if(is_dir("$noncePath$flist")){ //echo $noncePath."
"; if($flist!="." && $flist!=".." && strlen($noncePath.$flist."/")>strlen($noncePath)){ $dir_Array[$noncePath.$flist."/"] = false ;//标志目录未已经操作 //echo "$noncePath$flist
"; } }else{ $i++; $file_Array[$noncePath][] = $noncePath.$flist;///记录文件 } } closedir($FSO); $dir_Array[$noncePath] = true;//已经读取过的目录 } unset($dir_Array[$noncePath]);//删除已经操作过的目录 if(count($dir_Array)==0){//停止目录遍历 break; } } echo $i."
"; echo Interval(); function Interval(){ global $Interval; $vTemp = microtime(); //返回目前时间的百万分之一秒戳记值 $vTemp = explode(" ",$vTemp); $vTemp = doubleval($vTemp[1])+doubleval($vTemp[0]); if($Interval==null){//判断是否开始时间存在 $Interval = $vTemp; }else{ $vTemp = abs($vTemp-$Interval);//取得执行时间 return $vTemp; } } ?> [ 本帖最后由 失忆今生 于 2007-7-13 09:59 AM 编辑 ]

提问者:失忆今生   08-22 16:04
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
57 + 19 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM