Laravel上传多个图像并在干预下调整大小



有人可以给我一个例子,如何使用 laravel 中的干预来上传和调整多个图像的大小。我只需要控制器的一部分

if($request->hasFile('images')){
$images = $request->file('images');

我确实在谷歌上搜索过,但我只使用一张图片获得示例。

所以我不知道你已经做了什么。因此,让我们从头开始。

首先,您需要干预库。因此,请切换到您的主文件夹(包含您的 composer.json 文件) 和类型

composer.phar require intervention/image

或者只需在 composer.json 中添加"干预/图像":"~2.1"到您的 require 数组中。(之后做作曲家更新)

"require": {
"laravel/framework": "5.0.*",
"intervention/image": "~2.1"
},

现在你必须添加

'InterventionImageImageServiceProvider',

到提供程序数组

'Image' => 'InterventionImageFacadesImage'

到你的别名数组。都在配置/应用程序中.php

现在,您可以在控制器中的某个位置创建一个"上传功能",例如

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");
}

这会将两个图像保存到存储/应用程序文件夹。一个为原始大小,另一个调整为 300x200。

此代码只是一个示例,它不包含任何检查,用于有效图像或类似的东西。它只需要一个文件(假设是图像)并保存两次。 当然,您也不需要编码为 png...

遍历图像并逐个处理它们:

foreach ($images as $image) {
Image::make($image)->....
}

这个类你可以与任何框架或核心PHP一起使用。

有关完整的详细信息,请访问以下链接。

https://learncodeweb.com/web-development/laravel-9-upload-multiple-files-and-image-resizer/

有许多库可用于在Laravel中上传和调整多个图像的大小。我想出了一个简单易行的解决方案,它是一个GD基类。

您需要在以下命令的帮助下通过作曲家安装。

composer require learncodeweb/filesupload

安装后,在以下命令的帮助下重新创建自动加载文件。(可选)

composer dump-autoload

如何在幼虫8/9中导入和使用(已测试)。

use anyFileUploadFilesUploadAndImageResize as anyFilesUpload;

$files = new anyFilesUpload('array', ['jpg', 'jpeg', 'png'], public_path('uploads'), 0777);
$files->uploadFiles('files', 250, '', '', 100, '850', ['350']);

dd($files->uploadedData);

将文件上传到服务器后,它会返回所有上传的文件名。您可以将这些转储到数据库中。

提供的功能

  1. 上传单个或多个文件。
  2. 上传任何类型的文件(不仅是图像)。
  3. 图像文件可以调整大小。
  4. 创建图像缩略图(保持图像纵横比)。
  5. 您可以添加水印(文本、图像)。
  6. 与表单轻松集成。
  7. 一次上传下创建任意数量的缩略图。
  8. 缩略图文件夹的可自定义路径。
  9. 可自定义的缩略图大小和尺寸。
  10. 文件扩展名筛选器。
  11. 上传的文件大小限制。

相关内容

  • 没有找到相关文章

最新更新