干预图像Laravel 5.1

时间:2015-07-19 13:21:39

标签: php laravel

我尝试调整img的大小,我这样做了: 更新作曲家:

"intervention/image": "dev-master",

接下来在app / config中添加行

     Intervention\Image\ImageServiceProvider::class,
    'Image'     => Intervention\Image\Facades\Image::class

在我的控制器中:

use Intervention\Image\Image as Img;
Img::make($destination_path . $filename)->resize(200, 200)->save($destination_path . $filename);

这是错误:

Call to undefined method Intervention\Image\Image::make()

All In laravel 5.1

5 个答案:

答案 0 :(得分:9)

尝试:

1)检查您的App(默认情况下)文件夹中是否有名为Image

的模型

2)

a)将use Image;放在控制器顶部

b)扔掉它:使用Intervention \ Image \ Image as Img;

c)只需使用:Image::make(不是Img:make(

答案 1 :(得分:3)

我自己也有同样的问题。经过大量的谷歌搜索后,我发现了this tutorial特定于Laravel 5.1。

只需更改

use Intervention\Image\Image;

use Intervention\Image\Facades\Image;

答案 2 :(得分:3)

请按照以下步骤操作:

1)从根目录中打开composer.json文件

      "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "laravel/socialite": "^2.0",

        // add these lines
        "illuminate/html": "5.*",
        "intervention/image": "dev-master"
    }

2)现在运行composer update命令来获取这些包。

 composer update

3)打开config / app.php文件

a)使用以下行更新providers数组。

     'providers' => [

        // add this line at the bottom  
        Intervention\Image\ImageServiceProvider::class
        ]

b)使用以下行更新别名数组。

'aliases' => [
         // add this line at the bottom 
        'Image'     => Intervention\Image\Facades\Image::class
        ],

4)你完成了!

请在此处查看详细信息:http://www.pranms.com/intervention-image-integration-in-laravel/

答案 3 :(得分:2)

最简单的方法是使用外观而不是提供者。

所以而不是:

use Intervention\Image\Image as Img;

就这样说:

use Image;

然后你可以像这样使用它:

Image::make($destination_path . $filename)->resize(200, 200)->save($destination_path . $filename);

答案 4 :(得分:1)

打开:config / app.php

添加到数组别名:

'Image' => Intervention\Image\ImageManagerStatic::class,

在控制器中:

use Image;