//清理用户冗余头像图片
public function clearPhoto(){
//指定目录绝对地址
$path = realpath(dirname(__FILE__).'/../../public/static/upload');
//查找指定目录下所有照片文件
$arr=glob($path.'/userhead/*/*.{jpg,png,gif,jpeg,JPG,PNG,GIF,JPEG}',GLOB_BRACE);
//服务器数据库目录绝对地址
$dataPath = realpath(dirname(__FILE__).'/../../public/');
//计算地址长度供查询数据库是截取使用
$dataPath = strlen($dataPath);
if(count($arr)>0){
$j=count($arr);
$ndel=0;
for($i=0;$i<$j;$i++){
//截取图片在服务器中的绝对地址,转换为数据库中的地址
$dataArr = '..'.substr($arr[$i],$dataPath);
//查询数据库中是否存在此图片
$sql = Db::table('user')->where('face_img','=',$dataArr)->find();
//不存在则删除
if(!$sql){
unlink ($arr[$i]);
$ndel++;
}
}
$n=count($arr)-$ndel;
if($ndel>0){
return "已清理".$ndel."张冗余照片,";
}
return ("没有找到冗余图片,共有 ".$n."张用户头像照片!");
}
if(count($arr)==0){
return ("服务器没有冗余头像照片");
}
}