PHP实现自动遍历当前月份文件夹下的所有图片,并根据图片文件名获取图片信息,并做分页处理,最后以数组形式保存相关信息。
相关代码如下:
public function imageList() {
$page = $this->request->getParameter('page') ? trim($this->request->getParameter('page')) : 1;
$psize = 1000;
$output = array(
'totalPage' => 0,
'page' => $page,
'pageSize' => $psize,
'data' => array()
);
$path = './upload/'.date('Y/m',time()).'/';
//判断文件夹是否存在
if(!is_dir($path)) {
$this->outputJson($output);
exit;
}
$handle = opendir($path);
//遍历文件夹下所有图片
$arr = array();
$i = 0;
while (false !== ($file = readdir($handle))) {
$file = iconv("gb2312", "UTF-8", $file);
list($filesname,$ext)=explode(".",$file);
if($ext=="gif" or $ext=="jpg" or $ext=="png") {
if (!is_dir('./'.$file)) {
$arr[]=$file;
$i++;
}
}
}
$count = count($arr);
if($count > 0) {
$totalPage = ceil($count / $psize);
if ($page > $totalPage) {
$page = $totalPage;
}
$output['totalPage'] = $totalPage;
//文件夹下所有图片分页
$begin = $psize * ($page - 1);
$over = $psize*$page;
for ($j=$begin; $j $id,
'name' => $name,
'time' => $time,
'src' => $path.$arr[$j]
);
$output['data'][] = $imgInfo;
}
}
closedir($handle);
}
当然代码不够完美,需要改进,有高手的话求指点。