nijwel / image-upload
Laravel 的图片上传包
1.0.0
2024-09-06 21:08 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.2
- laravel/framework: ^10.10
- laravel/sanctum: ^3.3
- laravel/tinker: ^2.8
- laravel/ui: ^4.2
- pusher/pusher-php-server: ^7.2
Requires (Dev)
- fakerphp/faker: ^1.9.1
- laravel/pint: ^1.0
- laravel/sail: ^1.18
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.0
- phpunit/phpunit: ^10.1
- spatie/laravel-ignition: ^2.0
README
一个简单且灵活的 PHP 包,用于处理图片上传、缩放和管理。
特性
- 支持多种格式(JPEG、PNG、GIF、WEBP)的图片上传。
- 在保持宽高比的同时缩放图片。
- 使用动态文件名和自定义路径保存图片。
安装
您可以通过 Composer 安装 nijwel/image-upload
包。在您的项目目录中运行以下命令
composer require nijwel/image-upload
配置
开始使用该包不需要配置。但是,您可以按需自定义路径和图片尺寸。
用法
基本示例
以下是使用该包上传和缩放图片的简单示例
use Nijwel\ImageUpload\ImageUpload; $image = $request->input('image'); // Input image. $newImageName = 'my_image'; // IF you want to rename image (Also you can send null value) . $width = 200; // Desired width, (if you want to original image width pass value 0 or null). $height = null; // Desired height (null means maintain aspect ratio , You can handle manually) $path = 'backend/assets/images/'; // Directory to save the image // Just call in your method imageUpload($image, $width, $height, $path ,$newImageName );
方法
imageUpload($file, $newImageName = null, $width = null, $height = null, $path = 'images/')
上传并缩放图片。
- file: 原始图片文件路径。
- newImageName: 图片名称(可选,如果不提供,则使用唯一的 ID)。
- width: 缩放图片的宽度(可选)。
- height: 缩放图片的高度(可选)。如果为 null 或 0,则保持宽高比。
- path: 保存缩放图片的目录路径(可选)。
错误处理
确保提供的图片路径正确,并且目录有适当的写权限。如果图片类型不受支持或路径无效,该包将抛出异常。
贡献
如果您想为此包的开发做出贡献,请按照以下步骤操作
- Fork 仓库。
- 创建一个功能分支。
- 提交您的更改。
- 推送您的分支并提交 pull request。
许可
此包根据 MIT 许可证授权。有关更多详细信息,请参阅 LICENSE 文件。
联系
对于任何问题或疑问,请在此仓库中创建一个问题或联系 nijwel09@gmail.com