html5 base64上传图片 生成缩略图
use think\Image;
function getThumb($url, $width = 257, $height = 0) {
if(empty($url)) return '';
if(strpos($url, 'http://') !== false || strpos($url, 'https://') !== false) {
//华为云缩略图
return !empty($height) ? $url.'?x-image-process=image/resize,w_'.$width.',h_'.$height.',limit_0' : $url.'?x-image-process=image/resize,w_'.$width.',limit_0';
}else {
//本地生成缩略图
$thumb = '.'.str_replace(['/upload/', '.jpg', '.jpeg', '.png', '.gif', '.webp'], ['/thumbnail/', '_thumb.jpg', '_thumb.jpeg', '_thumb.png', '_thumb.gif', '_thumb.webp'], $url);
require_once ROOT_PATH . 'thinkphp/library/think/Image.php';
if(empty($height)) $height = $width;
if(!file_exists($thumb)) {
$image = Image::open('.'.$url);
$image->thumb($width, $height, Image::THUMB_CENTER)->save($thumb);
}
return str_replace(['./'], ['/'], $thumb);
}
return $url;
}