Laravel多个图像上传和调整大小干预

时间:2017-03-27 19:54:23

标签: laravel image-uploading intervention

有人可以举例说明如何使用laravel中的干预上传和调整多个图像的大小。

后我只需要控制器中的一部分
if($request->hasFile('images')){
  $images = $request->file('images');

我在google上搜索过,但我只使用一张图片获取示例。

2 个答案:

答案 0 :(得分:2)

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

首先,您需要干预库。因此,切换到主文件夹(包含composer.json文件) 然后输入

composer.phar require intervention/image

或者只需在composer.json中的您的require数组中添加“ intervention / image”:“〜2.1”。 (然后做一个作曲家更新)

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

现在您必须添加

'Intervention\Image\ImageServiceProvider',

到providers数组

'Image' => 'Intervention\Image\Facades\Image'

到您的别名数组。两者都在config / app.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");
}

这会将两个图像保存到storage / app文件夹。一种是原始尺寸,另一种尺寸为300x200。

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

答案 1 :(得分:0)

迭代图像并逐个处理:

foreach ($images as $image) {
    Image::make($image)->....
}
相关问题