各位大神文章的缩略图一般怎么处理呀
各位大神文章缩略图都怎么做的呀,我的目前是这样一个逻辑:
1、判断文章里面有没有图片,这个我写在一个helper里面;
2、判断图片的尺寸,长宽小于特定的值就选用默认图片;
3、文章没有图片也使用默认图片,下附代码:
function get_postImg($content,$imgname){
$result = preg_match('/<img.+src=\"?(.+\.(jpg|jpeg|gif|bmp|bnp|png))\"?.+>/i',$content,$searchImg);
if ($result){
$img = \Intervention\Image\Facades\Image::make($searchImg[1])->resize(800,null,function ($constraint){
$constraint->aspectRatio();
});
$height = $img->height();
if ($height >= 400){
$img->crop(800,400);
$img->save(public_path().'/'.'pic/posts/thumb/'.$imgname.'.jpg');
return 'pic/posts/thumb/'.$imgname.'.jpg';
}
else{
return 'pic/posts/thumb/post_default.jpg';
}
}
else{
return 'uploads/images/hotposts/hot_default.jpg';
}
}
因为项目小,所以直接上传在云服务器,没有上传到第三方,然后数据库存储地址。
个人思路,求指导
上传时,切割成几种大小缩略图保存,命名如:
@cnguu 每篇文章都设计上传一张单独的图片吗?
@Losunlee 不是,他的意思是如果有图片上传的话,像WordPress那样多存几个不同尺寸的thumbnails,方便在不同列表页调用。缺点就是会占用额外的空间,不过现在硬盘的价格应该可以忽略这个占用。
nginx
配合lua
可以专门处理图片,缩略图各种模式,各种大小和大小限制CDN
。@qufo 我看别的一些网站,他们用的七牛云存储,存的原图,根据请求地址后面拼接宽度和高度来实时请求处理图片,这样后面网站修改样式,缩略图也能保证清晰度,主要请求的图片大小也下来了,的确不错。目前都是根据前端的尺寸来控制显示大小,这样请求的还是原图,页面上图片多了,加载速度也慢了,如果是放在自己的云服务器上,我看你第二点不错,有具体案例吗
七牛,阿里这样的第三方
找第三方云存储吧, 七牛,又拍云什么的,都有现成的缩略图方案,比自己搞靠谱多了。
@ljheisenberg 有,以 nginx image_filter 作关键字去搜一下,一大堆教程。
@qufo 收到,谢谢大佬,研究下
@Epona 我是看项目小,没有往七牛那些地方传
@圣堂刺客 谢谢解答
第三方存储,文件路径后缀带格式大小可以生成缩略图