php - 如何在Laravel5.2中显示图像时生成缩略图

标签 php image laravel thumbnails gdlib

当我编写代码在 Blade 文件中显示图像时,生成图像缩略图,并且我可以给出每次需要生成图像缩略图的图像的高度和宽度,以便我可以生成同一图像的多个缩略图在单个站点中。

{{$page->image,100,100)}}

或者

<td><?php if ($page->image) { ?><img src="{{ url('/upload/pages/'.$page->image,100,200) }}"/><?php } ?></td>

请提出如何制作此类缩略图的建议,提前致谢。

最佳答案

执行此操作的合理方法是:

  1. 创建一个 Controller 和一个接受图像名称、宽度和高度参数的方法(或现有 Controller 上的方法)。此方法可以使用评论中提到的 Intervention 包。逻辑应该是 - 首先检查指定尺寸的图像是否存在,如果不存在 - 创建它(使用干预,非常简单)。然后 - 输出图像内容(不要忘记添加正确的标题)。

  2. 将此 Controller /方法添加到routes.php,例如:

    路线::get('thumbnails/{image}', 'Controller@getThumbnail');

  3. 在 Blade 模板中,您只需引用“/path/image.jpg?width=200&height=100”等图像。无需关心这些尺寸的文件是否已经存在。

PS。 Facebook 以这种方式提供图像。它基本上就像用户和原始图像之间的一个小型代理服务器(您的方法充当代理)。

关于php - 如何在Laravel5.2中显示图像时生成缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34659502/

相关文章:

ios - 将图像数组添加到 Realm 数据库

python - 创建具有多种颜色的图像并添加文本

javascript - 如果用户名已存在于数据库中,如何禁用表单提交按钮? (通过 js、ajax、php(laravel))

php - 如何从网页向串口发送数据?

php - Doctrine_Pager 返回带有多个 groupBy 列的错误结果

php - 带有 Laravellocalization 的 Carbon 没有使用正确的语言环境

css - 包含图像的 anchor 标记上没有边框

php - 从 Laravel 集合创建数据数组

php - Laravel 5 实例化一个新的请求验证

php - 基于日期的 LEFT JOIN 变体