有人能给我举个例子,在 Laravel 中使用 intervention 上传和调整多张图片的大小。我只需要控制器中的部分代码。
if($request->hasFile('images')){
$images = $request->file('images');
我在谷歌上搜索了一下,但只得到了使用单个图片的示例。
if($request->hasFile('images')){
$images = $request->file('images');
我在谷歌上搜索了一下,但只得到了使用单个图片的示例。
composer.phar require intervention/image
或者只需在composer.json文件的require数组中添加 "intervention/image": "~2.1" (之后执行 composer update )
"require": {
"laravel/framework": "5.0.*",
"intervention/image": "~2.1"
},
'Intervention\Image\ImageServiceProvider',
添加到提供者数组中
和
'Image' => 'Intervention\Image\Facades\Image'
public function upload() {
$image = \Image::make(\Input::file('image'));
$path = storage_path('app')."/";
// encode image to png
$image->encode('png');
// save original
$image->save($path."original.png");
//resize
$image->resize(300,200);
// save resized
$image->save($path."resized.png");
}
这个类可以与任何框架或核心PHP一起使用。
有关完整详细信息,请访问下面的链接。
https://learncodeweb.com/web-development/laravel-9-upload-multiple-files-and-image-resizer/
在 Laravel 中,有许多库可以用来上传和调整多张图片的大小。我提供了一种简单易行的解决方案,使用 GD 基类实现。
您只需要通过以下命令使用 composer 进行安装即可:
composer require learncodeweb/filesupload
安装后,可以使用以下命令重新创建autoload文件。(可选)
composer dump-autoload
如何在Laravel 8/9中导入并使用(已测试)。
use anyFileUpload\FilesUploadAndImageResize as anyFilesUpload;
$files = new anyFilesUpload('array', ['jpg', 'jpeg', 'png'], public_path('uploads'), 0777);
$files->uploadFiles('files', 250, '', '', 100, '850', ['350']);
dd($files->uploadedData);
上传文件到服务器后,它会返回所有已上传的文件名。您可以将这些文件名存储在数据库中。
提供的功能
遍历图像并逐一处理:
foreach ($images as $image) {
Image::make($image)->....
}