七牛云图片审核
七牛云开发文档:https://developer.qiniu.com/kodo
(一)Composer 安装 SDK(推荐使用)
进入cmd 终端,切换目录到你部署项目的根目录下,执行以下命令即可:composer require qiniu/php-sdk
(二)传统方式安装
进入七牛云,下载官方 PHP-SDK,将下载下来的SDK解压,放入项目第三库文件(vendor 或者 extend)
文本审核:
////// 七牛云文本审核
// function checkText()
// {
//// 秘钥
// $ak = config('ak');
// $sk = config('sk');
//// print_r($sk);die();
//// '七牛云审核接口'
// $url = 'http://ai.qiniuapi.com/v3/text/censor';
// $method = "POST"; //'请求类型'
//// 网址
// $host = "ai.qiniuapi.com";
//// 返回参数
// $contentType = "application/json";
//// 图片地址
// $text_url = 'D:\phpstudy_pro\WWW\two\week3\public\exam.doc';
//// 场景
// $scenes = [
// 'censor' => ['antispam'],
//
// ];
// $body = [ // 内容 uri图片地址 和 URL接口地址 注意:不要覆盖
// 'data' => ['text' => $text_url],
// 'params' => ['scenes' => $scenes['censor']]
// ];
//
//// echo 111;die();
//// 鉴权凭证 秘钥
// $auth = new Auth($ak, $sk);
// $headers = $auth->authorizationV2($url, $method, json_encode($body), $contentType);
// $headers['Content-Type'] = $contentType;
//// var_dump($headers);die();
// $headers['Host'] = $host;
//// var_dump($headers);die();
// $response = Client::post($url, json_encode($body), $headers);
//// print_r($response);die();
////// 二种
// $info = $response->body; //取出body数据
// // result
// $res = json_decode($info, true);//json_decode()要求参数1为字符串,对象为给定值
// if ($res['result']['suggestion'] == 'pass') {
// return $res['result']['suggestion'];
// } else {
// return $res->error;
// }
//
// }
图片审核
function check()
{
$ak = config('ak');
$sk = config('sk');
//七牛云图片审核接口地址
$url = 'http://ai.qiniuapi.com/v3/image/censor';
$method = "POST";
$host = "ai.qiniuapi.com";
$contentType = "application/json";
$image_url = 'https://dfzximg02.dftoutiao.com/news/20211129/20211129201143_d1b710f9376591ad17f0c56c2f764ef4_1_mwpm_03201609.jpeg';
$scenes = [
'censor' => ['pulp', 'terror', 'politician', 'ads'],
'pulp' => ['pulp'],
'terror' => ['terror'],
'politician' => ['politician'],
'ads' => ['ads']
];
$body = [
'data' => ['uri' => $image_url],
'params' => ['scenes' => $scenes['censor']]
];
$auth = new Auth($ak, $sk);
$headers = $auth->authorizationV2($url, $method, json_encode($body), $contentType);
$headers['Content-Type'] = $contentType;
$headers['Host'] = $host;
$response = Client::post($url, json_encode($body), $headers);
print_r($response);
die;
}
图片本地化:
function di()
{
if (!file_exists('./uploads/20190513')) {
mkdir('./uploads/20190513', 0777, true);
}
$a = 'https://www.wanmeizy.com/uploads/ueditor/upload/image/20190513/155771589064749921.jpg';
$b = './uploads/'.substr($a, strpos($a, '20190513'));
$c = file_get_contents($a);
file_put_contents($b,$c);
}

图片地址删除
$id = $request->get('id');
$url = $db->where('id',$id)->field('image')->find();
unlink($url);
$res = $db->destory($id);
excel导出

//本地图片的excel导出
public function excel()
{
//查找要导出的数据表
$list = Db::table('advert')->select();
//导出的文件名称
$file_name = date('Y-m-d_H:i:s') . '表格' . '.xls';
dirname(__FILE__);
Loader::import('PHPExcel.Classes.PHPExcel');//引入的是extend下的PHPExcel 必须手动引入
Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
$PHPExcel=new \PHPExcel();
$objWriter = new \PHPExcel_Writer_Excel2007($PHPExcel);
$PHPSheet = $PHPExcel->getActiveSheet();
//设置水平居中
$PHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->setActiveSheetIndex(0)->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->setActiveSheetIndex(0)->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// 设置个表格标题
$PHPSheet->setTitle("代理商");
$PHPSheet->setCellValue("A1", "ID");
$PHPSheet->setCellValue("B1", "品牌名称");
$PHPSheet->setCellValue("C1", "排序");
$PHPSheet->setCellValue("D1", "图片地址");
//设置表格宽度
$PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$PHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$PHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
$PHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(80);
// 设置垂直居中
$PHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->setActiveSheetIndex(0)->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->setActiveSheetIndex(0)->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$i = 2;
foreach ($list as $key => $value) {
$PHPSheet->setCellValue('A' . $i, '' . $value['id']);
$PHPSheet->setCellValue('B' . $i, '' . $value['name']);
$PHPSheet->setCellValue('C' . $i, '' . $value['type']);
//获取到图片信息
$img = Db::table('advert')->where('id', $value['id'])->field('image')->find();
$objDrawing[$key] = new \PHPExcel_Worksheet_Drawing();
$objDrawing[$key]->setPath('.' . $img['image']); //这里拼接 . 是因为要在根目录下获取
$objDrawing[$key]->setHeight(20);//照片高度
$objDrawing[$key]->setWidth(70); //照片宽度
$objDrawing[$key]->setCoordinates('D' . $key);
// 图片偏移距离
$objDrawing[$key]->setOffsetX(12);
$objDrawing[$key]->setOffsetY(12);
$objDrawing[$key]->setWorksheet($PHPExcel->getActiveSheet());
// $PHPSheet->setCellValue('D'.$i,''.$value['image_input']);
$i++;
}
$PHPExcel->setActiveSheetIndex(0);
$objWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");
header('Content-Disposition: attachment;filename=' . $file_name);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Cache-Control: max-age=0');
$objWriter->save("php://output"); //文件通过浏览器下载
}
或
public function expUserlist(){
// $data 查寻出来的数组
// 导出Exl
vendor("PHPExcel.PHPExcel");
$objPHPExcel = new \PHPExcel();
$objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
$objActSheet = $objPHPExcel->getActiveSheet();
$objActSheet->setCellValue('A1', '客户姓名');
$objActSheet->setCellValue('B1', '回访人');
$objActSheet->setCellValue('C1', '回访内容');
$objActSheet->setCellValue('D1', '回访方式');
$objActSheet->setCellValue('E1', '创建时间');
$objActSheet->setCellValue('F1', '回访时间');
$objActSheet->setCellValue('G1', '回访图片');
$objActSheet->setCellValue('H1', '图片路径');
// 设置个表格宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(16);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(16);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(35);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(45);
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(25);//行高
foreach($data as $k=>$v){
$k +=2;
$objActSheet->setCellValue('A'.$k, $v['customer_name']);
$objActSheet->setCellValue('B'.$k, $v['employee_name']);
if ($v['customer_return_img']) {
// 图片生成
$objDrawing[$k] = new \PHPExcel_Worksheet_MemoryDrawing();
// 截取图片的格式,用不同的方法
$end[$k] = substr($v['customer_return_img'], -3);
if ($end[$k] == 'jpg' || $end[$k] == 'peg') {
$img[$k] = @imagecreatefromjpeg($v['customer_return_img']);
}else if ($end[$k] == 'png') {
$img[$k] = @imagecreatefrompng($v['customer_return_img']);
}else if ($end[$k] == 'gif') {
$img[$k] = @imagecreatefromgif($v['customer_return_img']);
}
$objDrawing[$k]->setImageResource($img[$k]);
$objDrawing[$k]->setRenderingFunction(\PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT);//渲染方法
$objDrawing[$k]->setMimeType(\PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
// // 设置宽度高度
$objDrawing[$k]->setHeight(40);//照片高度
$objDrawing[$k]->setWidth(60); //照片宽度
// /*设置图片要插入的单元格*/
$objDrawing[$k]->setCoordinates('G'.$k);
// // 图片偏移距离
$objDrawing[$k]->setOffsetX(8);
$objDrawing[$k]->setOffsetY(8);
$objDrawing[$k]->setWorksheet($objPHPExcel->getActiveSheet());
// 表格高度
$objActSheet->getRowDimension($k)->setRowHeight(80);
}else{
$objActSheet->setCellValue('G'.$k, '');
// 表格高度
$objActSheet->getRowDimension($k)->setRowHeight(30);
}
// ob_flush();//清除缓存
// 表格内容
$objActSheet->setCellValue('D'.$k, $v['customer_mode']);
$objActSheet->setCellValue('E'.$k, $v['customer_return_createdate']);
$objActSheet->setCellValue('F'.$k, $v['customer_return_date']);
$objActSheet->setCellValue('C'.$k, $v['customer_return_content']);
$objActSheet->setCellValue('H'.$k, $v['customer_return_img']);
}
$fileName = $_GET['zuzhi_name'].'回访记录表';
$date = date("Y-m-d",time());
$fileName .= "_{$date}.xls";
$fileName = iconv("utf-8", "gb2312", $fileName);
// $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
// $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $fileName.' 导出时间:'.date('Y-m-d H:i:s'));
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=\"$fileName\"");
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); //文件通过浏览器下载
// END
}
浙公网安备 33010602011771号