<?php error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED); /* 图像处理类 */ include_once("../../config.php"); //载入TinyPNG require_once(APP."functions/tinypng/Tinify/Exception.php"); require_once(APP."functions/tinypng/Tinify/ResultMeta.php"); require_once(APP."functions/tinypng/Tinify/Result.php"); require_once(APP."functions/tinypng/Tinify/Source.php"); require_once(APP."functions/tinypng/Tinify/Client.php"); require_once(APP."functions/tinypng/Tinify.php"); //初始化值 $dispose['compress'] = 0; $dispose['level'] = 0; //获取ID $id = $_GET['id']; $id = (int)$id; //获取tinypng key $tinykey = array_rand($tinypng['key']); //取出数组键值 $tinykey = $tinypng['key'][$tinykey]; $iscompress = 0; //如果ID不存在或为空 if((!isset($id)) || ($id == '')) { echo 'ID错误!'; exit; } //如果没有启用压缩 if($tinypng['option'] != true){ echo '未启用压缩功能!'; exit; } //查询对应信息 $info = $database->get("imginfo",[ "id", "path", "compress", "level" ],[ "id" => $id ]); //组合为完整的URL地址 $imgurl = $config['domain'].$info['path']; //获取压缩状态 $compress = $info['compress']; //获取图片等级 $level = $info['level']; //获取文件后缀名 $suffix = substr(strrchr($info['path'], '.'), 1); //后缀改为小写 $suffix = strtolower($suffix); if(($suffix == 'png') || ($suffix == 'jpg') || ($suffix == 'jpeg')) { $iscompress = 1; } if($iscompress == 0){ echo '该后缀不支持压缩!'; exit; } if($compress == 1){ echo '该图片已经压缩!'; exit; } //对图片进行压缩 if(($tinypng['option'] == true) && ($iscompress == 1) && ($compress == 0)) { //初始化 \Tinify\setKey($tinykey); $source = \Tinify\fromUrl($imgurl); //覆盖原有图片 $source->toFile(APP.$info['path']); //更新数据库 $database->update("imginfo",[ "compress" => 1 ],[ "id" => $id ]); $dispose['compress'] = 1; echo '压缩成功!'; } ?>