hesham14yahia / image-full-control
Laravel 包,让您对应用程序的图片上传、管理和操作拥有完全控制权。
1.3.0
2020-05-02 05:23 UTC
Requires
- intervention/image: ^2.5
This package is auto-updated.
Last update: 2024-09-19 22:34:13 UTC
README
Laravel 包,让您对应用程序的图片上传、管理和操作拥有完全控制权。
要求
- PHP >=5.4
- Fileinfo 扩展
支持的图像库
- GD 库 (>=2.0)
- Imagick PHP 扩展 (>=6.5.7)
- Intervention Image
创建文件和文件夹
在 Laravel 的 public 文件夹中创建 uploads 文件夹,然后为要上传的图像类型创建一个文件夹,例如命名为 users,并添加 .gitignore 文件,内容如下
*
!.gitignore
以防止图像上传到 Git。
安装包
composer require hesham14yahia/image-full-control
如何使用它 "上传"
只需在控制器中添加以下代码
use Hesham14Yahia\ImageFullControl\ImageFullControl;
然后调用静态方法 uploadImage()
ImageFullControl::uploadImage($image, $folder_name)
只需要两个参数,第一个是表单提交的图像,第二个是文件夹名称,如果您在方法中使用独立注入 "Request",输入文件名为 "image",文件夹名为 "users",则代码如下。
ImageFullControl::uploadImage($request->image, "users");
该方法返回上传的图像名称。
更多选项 "管理"
您可以使用它更新图像字段,通过添加第三个参数,即旧图像名称,如果我们以用户为例,并创建了一个用户模型的实例,则代码如下。
ImageFullControl::uploadImage($request->image, "users", $user->image);
该方法返回新上传的图像名称并删除旧的一个,如果您不想删除旧图像,则不要传递它。
您还可以 "操作"
确定图像宽度或高度或甚至质量,这些都是可选的,但它们有一个顺序,您应该遵循它,所以如果您想使用所有这些,则代码如下。
ImageFullControl::uploadImage($request->image, "users", $user->image, 50, 100, 75);
这将创建一个宽度为 50 像素、高度为 100 像素和质量为 75% 的图像,如果您只想使用质量,例如,则代码如下。
ImageFullControl::uploadImage($request->image, "users", $user->image, null, null, 11);
注意:默认质量为 100%。
图像完整路径
为了更容易处理图像,从版本 1.3.0
开始,我们添加了返回图像完整路径的方法,它接受文件夹名称和图像名称,代码如下。
ImageFullControl::imageFullPath("users", $image_name);