flipbox / image-controller
laravel 的图片控制器
Requires
- php: >=5.6.4
- intervention/image: ^2.3
- intervention/imagecache: ^2.3
- laravel/framework: ^5.2
This package is auto-updated.
Last update: 2024-08-29 04:25:29 UTC
README
使用简单的方式通过大小、质量和扩展名控制客户端请求的图片。您无需再创建多个大小的图片,此包已处理所需大小的请求图片。
特性
- 动态图片请求文件
- 控制图片大小
- 控制图片质量
- 控制图片扩展名
- 缓存图片
要求
- php >= 5.6.4
- laravel/framework 5.3.*
- intervention/image ^2.3
- intervention/imagecache ^2.3
安装
使用 composer 需求此包
composer require flipbox/image-controller
将 ServiceProvider 添加到 config/app.php 中的 providers 数组
Flipbox\ImageController\ImageControllerServiceProvider::class,
将此包的 facade 添加到 config/app.php 中的 $aliases 数组
'ImageController' => Flipbox\ImageController\Facade::class
使用发布命令将包资源复制到您的应用程序中
php artisan vendor:publish
您的图片现在可以控制了 :-)
使用此包
为了避免请求冲突,我们建议您将一些代码添加到 public laravel 文件夹中的 .htaccess 文件末尾
RewriteRule .*\.(jpg|png|gif|tif|bmp)$ index.php [NC,L]
在您的 public 文件夹中创建一个名为 images
的文件夹(您可以在配置文件中更改文件夹名称),并将图片放在该文件夹中,例如,您将文件名为 photo.jpg
的图片放在该文件夹中,您可以通过以下方式访问您的照片:http://localhost/images/photo.jpg
。
按大小请求
现在您可以使用指定的大小(thumbnail
、small
、medium
、large
)请求图片
http://localhost/images/photo.jpg?size=thumbnail
默认宽度 100px
http://localhost/images/photo.jpg?size=small
默认宽度 240px
http://localhost/images/photo.jpg?size=medium
默认宽度 500px
http://localhost/images/photo.jpg?size=large
默认宽度 1024px
按指定宽度或高度请求
您还可以按指定宽度或高度请求图片,甚至两者都指定
http://localhost/images/photo.jpg?width=320
自动高度
http://localhost/images/photo.jpg?height=320
自动宽度
http://localhost/images/photo.jpg?width=100&height=320
固定宽度和高度
按其他扩展名请求
实际文件扩展名将被忽略,现在您可以使用配置中定义的扩展名或甚至没有扩展名来访问您的图片文件
http://localhost/images/photo
默认有效
http://localhost/images/photo.jpg
默认有效
http://localhost/images/photo.png
默认有效
http://localhost/images/photo.gif
默认有效
上传的文件
我们提供了上传文件,使文件上传变得非常简单。第一个参数是 UploadedFile 或 Base64 编码,第二个参数是 directory/prefix.
ImageController::upload($request->file, 'profile');
此方法将返回生成的文件名字符串 str_random(34)
模型评估器
添加 模型访问器 以生成图片链接。
/**
* Get ProfilePicture.
*
* @param string $value
* @return string
*/
public function getProfilePictureAttribute($value)
{
return ImageController::generateImageUrl($value, 'small');
}
待办事项
- 添加水印
- 测试