229 lines
4.1 KiB
PHP
Executable File
229 lines
4.1 KiB
PHP
Executable File
<?php
|
||
|
||
namespace wstmart\admin\model;
|
||
|
||
/**
|
||
|
||
* ============================================================================
|
||
|
||
* 图片空间业务处理
|
||
|
||
*/
|
||
|
||
use wstmart\common\model\Aliyunoss;
|
||
|
||
use think\Db;
|
||
|
||
class Images extends Base{
|
||
|
||
/**
|
||
|
||
* 获取图片空间概况
|
||
|
||
*/
|
||
|
||
public function summary(){
|
||
|
||
$rs = Db::name('images')->where(['dataFlag'=>1])->field('fromTable,isUse,sum(imgSize) imgSize')->group('fromTable,isUse')
|
||
|
||
->order('fromTable asc')->select();
|
||
|
||
//获取目录名称
|
||
|
||
$rs2 = Db::name('datas')->where(['catId'=>3])->field('dataName,dataVal')->select();
|
||
|
||
$imagesMap = [];
|
||
|
||
foreach ($rs2 as $key =>$v){
|
||
|
||
$imagesMap[$v['dataVal']] = $v['dataName'];
|
||
|
||
}
|
||
|
||
$images = [];
|
||
|
||
foreach ($rs as $key =>$v){
|
||
|
||
if(!isset($images[$v['fromTable']]))$images[$v['fromTable']] = ['directory'=>'','data'=>['0'=>0,'1'=>0]];
|
||
|
||
if(isset($imagesMap[$v['fromTable']]))$images[$v['fromTable']]['directory'] = $imagesMap[$v['fromTable']];
|
||
|
||
$images[$v['fromTable']]['data'][$v['isUse']] = round($v['imgSize']/1024/1024,2);
|
||
|
||
}
|
||
|
||
$maxSize = 0;
|
||
|
||
foreach ($images as $key =>$v){
|
||
|
||
$size = (float)$v['data']['0']+(float)$v['data']['1'];
|
||
|
||
if($maxSize<$size)$maxSize = $size;
|
||
|
||
}
|
||
|
||
$images['_WSTSummary_'] = $maxSize;
|
||
|
||
return $images;
|
||
|
||
}
|
||
|
||
/**
|
||
|
||
* 获取记录
|
||
|
||
*/
|
||
|
||
public function pageQuery(){
|
||
|
||
$key = input('keyword');
|
||
|
||
$isUse = (int)input('isUse');
|
||
|
||
$where = ['fromTable'=>$key,'a.dataFlag'=>1];
|
||
|
||
if($isUse !=-1)$where['isUse'] = $isUse;
|
||
|
||
$page = $this->alias('a')->join('__USERS__ u','a.ownId=u.userId and fromType=0','left')
|
||
|
||
->join('__SHOPS__ s','s.userId=u.userId','left')
|
||
|
||
->join('__STAFFS__ sf','sf.staffId=a.ownId','left')
|
||
|
||
->where($where)->field('a.imgId,u.loginName,u.userType,fromType,sf.loginName loginName2,s.shopName,imgPath,imgSize,isUse,a.createTime')
|
||
|
||
->order('a.imgId desc')->paginate(input('post.limit/d'))->toArray();
|
||
|
||
foreach ($page['Rows'] as $key => $v){
|
||
|
||
if($v['fromType']==1){
|
||
|
||
$page['Rows'][$key]['loginName'] = $v['loginName2'];
|
||
|
||
}
|
||
|
||
$page['Rows'][$key]['imgSize'] = round($v['imgSize']/1024/1024,2);
|
||
|
||
unset($page['Rows'][$key]['loginName2']);
|
||
|
||
}
|
||
|
||
return $page;
|
||
|
||
}
|
||
|
||
/**
|
||
|
||
* 删除图片
|
||
|
||
*/
|
||
|
||
public function del(){
|
||
|
||
$id = (int)input('id');
|
||
|
||
$image = $this->where('imgId',$id)->find();
|
||
|
||
$rs = $this->where('imgId',$id)->update(['dataFlag'=>-1]);
|
||
|
||
if(false !== $rs){
|
||
|
||
$m = WSTConf('CONF.wstMobileImgSuffix');
|
||
|
||
$timgPath = str_replace('.','_thumb.',$image['imgPath']);
|
||
|
||
$mimgPath = str_replace('.',$m.'.',$image['imgPath']);
|
||
|
||
$mtimgPath = str_replace('.',$m.'_thumb.',$image['imgPath']);
|
||
|
||
|
||
|
||
if(file_exists(WSTRootPath()."/".$image['imgPath']))unlink(WSTRootPath()."/".$image['imgPath']);
|
||
|
||
if(file_exists(WSTRootPath()."/".$timgPath))unlink(WSTRootPath()."/".$timgPath);
|
||
|
||
if(file_exists(WSTRootPath()."/".$mimgPath))unlink(WSTRootPath()."/".$mimgPath);
|
||
|
||
if(file_exists(WSTRootPath()."/".$mtimgPath))unlink(WSTRootPath()."/".$mtimgPath);
|
||
|
||
//添加删除oss上的图片 mark 20180608
|
||
|
||
$imgurl = getImgUrl().$image['imgPath'];
|
||
|
||
if(file_exists_oss($image['imgPath']))model('Aliyunoss')->del($image['imgPath']);
|
||
|
||
return WSTReturn("删除成功", 1);
|
||
|
||
}
|
||
|
||
return WSTReturn("删除失败");
|
||
|
||
}
|
||
|
||
//添加判断文件是否存在 mark 20180608 by zl
|
||
|
||
// public function file_exists_oss($object){
|
||
|
||
// $imgurl = getImgUrl().$object;
|
||
|
||
// $ch = curl_init();
|
||
|
||
// $timeout = 10;
|
||
|
||
// curl_setopt ($ch, CURLOPT_URL, $imgurl);
|
||
|
||
// curl_setopt($ch, CURLOPT_HEADER, 1);
|
||
|
||
// curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
|
||
|
||
// curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
|
||
|
||
|
||
|
||
// $contents = curl_exec($ch);
|
||
|
||
// if (preg_match("/404/", $contents)){
|
||
|
||
// return false;
|
||
|
||
// }else{
|
||
|
||
// return true;
|
||
|
||
// }
|
||
|
||
|
||
|
||
// //说是在windows下可以,LINUX下无论图片在不在都返加TRUE
|
||
|
||
// // if(file_get_contents($imgurl,0,null,0,1)){
|
||
|
||
// // return true;
|
||
|
||
// // }else{
|
||
|
||
// // return false;
|
||
|
||
// // }
|
||
|
||
|
||
|
||
// // if(@fopen( $imgurl, 'r' )){
|
||
|
||
// // return true;
|
||
|
||
// // }else{
|
||
|
||
// // return false;
|
||
|
||
// // }
|
||
|
||
|
||
|
||
|
||
|
||
// }
|
||
|
||
}
|
||
|