【问题标题】:Resizing images using Laravel and the Intervention package使用 Laravel 和 Intervention 包调整图像大小
【发布时间】:2015-04-28 01:01:19
【问题描述】:

我正在尝试使用 intervention 在 Laravel 中操作图像 我已经遵循了使用 imagick 所需的所有设置。我在 centOS 上使用 vagrant,这一切都表明一切正常,通过 phpinfo ();

当我运行以下命令时(来自控制器的代码片段)

public function store()
{
    //Get all the user fields 

    $user = new User;

    $user->username = Input::get('username');
    $user->name = Input::get('name');
    $user->email = Input::get('email');
    $user->gender = Input::get('gender');
    $user->country = Input::get('country');
    $user->website = Input::get('website');
    $user->bio = Input::get('bio');

    //Check for and store user image

    if (Input::HasFile('image'))

    {
        $image = Image::make(Input::file('image'));

        $name = time() . '-' . $image->getClientOriginalName();

        $image->resize(100, 100);

        $image = $image->move(public_path() . '/images/avatars/', $name);

        $user->image = $name;


    }

    $user->save();

    return redirect('/admin/users');

}

它可以满足我的所有期望,但会调整图像大小。它从输入中获取图像,分配新名称并将其保存在正确的位置。当我在页面上查看它时,它只是原始大小。

这一切都没有错误,所以我不确定问题出在我的代码还是服务器端。

任何帮助表示赞赏。

【问题讨论】:

    标签: php image-processing laravel-5


    【解决方案1】:

    我遇到了同样的问题,并使用 Request 类而不是 Input 解决了它。

    use Request;
    // or depends of your app config
    // use Illuminate\Http\Request;
    ...
    if (Request::hasFile('image'))
    {
        $image = Image::make(Request::file('image'));
    ...
    

    注意:在 laravel5 文档中,他们不再使用 Intput:http://laravel.com/docs/5.0/requests 并且使用依赖注入也是一个好主意,因此您可以扩展它并在需要时添加规则和验证...

    【讨论】:

    • 谢谢,在请求而不是输入中注明。
    【解决方案2】:

    该死的,这是服务器端的问题,在 vagrant 上设置的内存是问题,即不够!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2018-09-21
      相关资源
      最近更新 更多