继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

PHP获取目标路径的文件目录

安卓入门学习视频
关注TA
已关注
手记 267
粉丝 68
获赞 387

   PHP获取目标路径(图片目录)的文件目录的原生代码,写出来后发现还有很大的优化空间,但由于是练手的作品没再深入修改,但这几天都有同学问我这个问题,所以决定开通博客,并在此献丑,若有更优方法,也请各位不吝斧正!

   闲话少说,代码如下:


<?phpclass files{  protected function refiles($path){    if(file_exists($path)){      $ref = scandir($path,1);      foreach($ref as $val){        if($val=='.'||$val=='..'){          continue;        }        $arr[$val] = is_dir($path.$val)?'folder':'img';      }    }    else{      $arr = false;    }    return $arr;  }  protected function reall($arr,$path){    foreach($arr as $key =>$val){      if($val == 'folder'){        $newpath = $path.$key."/";        $temps = $this->refiles($newpath);        if($temps){          $newtemp = $this->reall($temps,$newpath);          $arr[$key] = $newtemp;        }        else{          $arr[$key] = 'null';        }      }    }    return $arr;  }  /**  * 函数名称:allfiles()  * 函数作用:取得指定路径下的所有目录  * 参数说明:$path:指定的路径  * 返 回 值:$result 目录数组 or false  */  public function allfiles($path){    $allfiles = $this -> refiles($path);    if($allfiles){      $newallfiles = $this -> reall($allfiles,$path);      $allfiles =$newallfiles;    }    return $allfiles;  }  /**  * 函数名称:Dloop()  * 函数作用:双层循环取得结构树  * 参数说明:$path:指定的路径  * 返 回 值:$result 目录数组 or false  */  public function Dloop($arr,$path,$space=0,$spaces=0){    foreach($arr as $key => $val){      if(is_array($val)){        $spaces += 15;        $newpath = $path.$key."/";        $str .= '<tr><td class="content_td"><div php plain">.$space.'px;"></div>'.$key.'</td><td class="content_td">'.$kb.'</td><td class="content_td">&nbsp;</td></tr>';        $str .= $this -> Dloop($val,$newpath,$spaces,$spaces);                       }      else{        //$str .= '这里写入树';        if(stripos($key,'.jpg')||stripos($key,'.jpeg')){          $fn = '<div php plain">.$space.'px;"></div>'.$key;        }        elseif(stripos($key,'.gif')){          $fn = '<div php plain">.$space.'px;"></div>'.$key;        }        elseif(stripos($key,'.png')){          $fn = '<div php plain">.$space.'px;"></div>'.$key;        }        else{          $fn = '<div php plain">.$space.'px;"></div>'.$key;        }        $kb = round(filesize($path.$key)/1024)."k";        $str .= '<tr><td class="content_td">'.$fn.'</td><td class="content_td">'.$kb.'</td><td class="content_td">&nbsp;</td></tr>';      }    }  return $str;   }}?><!--网页测试部分<table width="100%" border="0" cellpadding="0" cellspacing="0" class="content_tab"></?phpinclude ("../../include/files.php");$files = new files;$path = '../../images/';$newallf = $files -> allfiles($path);if ($newallf){  $str = $files -> Dloop($newallf,$path);?>  <tr>    <td width="60%" class="content_td">目录及图片</td>    <td width="20%" class="content_td">文件大小</td>    <td width="20%" class="content_td">管理操作</td>  </tr></?phpecho $str; }else {echo '<tr align="center"><td class="content_td">暂无数据</td></tr>';}?></table>-->


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP