各位大神文章的缩略图一般怎么处理呀

各位大神文章缩略图都怎么做的呀,我的目前是这样一个逻辑:
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';
    }
}

因为项目小,所以直接上传在云服务器,没有上传到第三方,然后数据库存储地址。
个人思路,求指导

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 12
cnguu

上传时,切割成几种大小缩略图保存,命名如:

  • 原图:xxx.jpg
  • 尺寸后接:xxx_300x300.jpg
4年前 评论

@cnguu 每篇文章都设计上传一张单独的图片吗?

4年前 评论

@Losunlee 不是,他的意思是如果有图片上传的话,像WordPress那样多存几个不同尺寸的thumbnails,方便在不同列表页调用。缺点就是会占用额外的空间,不过现在硬盘的价格应该可以忽略这个占用。

4年前 评论
  • 只存原图
  • 架设一个文件服务器,nginx 配合 lua 可以专门处理图片,缩略图各种模式,各种大小和大小限制
  • 站小的话,这个文件服务器放在应用服务器上吧。
  • 分离开的话,以便以后大起来了做CDN
  • 一些图片中夹带的一句话木马,可以通过这种方法防一防。
4年前 评论

@qufo 我看别的一些网站,他们用的七牛云存储,存的原图,根据请求地址后面拼接宽度和高度来实时请求处理图片,这样后面网站修改样式,缩略图也能保证清晰度,主要请求的图片大小也下来了,的确不错。目前都是根据前端的尺寸来控制显示大小,这样请求的还是原图,页面上图片多了,加载速度也慢了,如果是放在自己的云服务器上,我看你第二点不错,有具体案例吗

4年前 评论

七牛,阿里这样的第三方

4年前 评论
Epona

找第三方云存储吧, 七牛,又拍云什么的,都有现成的缩略图方案,比自己搞靠谱多了。

4年前 评论

@ljheisenberg 有,以 nginx image_filter 作关键字去搜一下,一大堆教程。

4年前 评论

@qufo 收到,谢谢大佬,研究下

4年前 评论

@Epona 我是看项目小,没有往七牛那些地方传

4年前 评论
Epona 4年前

第三方存储,文件路径后缀带格式大小可以生成缩略图

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!