2016-03-21 16 views
3

私はLaravel 5を使用し、画像をアップロードするフォームを持っています。Laravel 5 image resize

if ($request->hasFile('picture')) { 
    $destinationPath = 'uploads'; 
    $filename = $image->getClientOriginalName(); 
    $extension = $image->getClientOriginalExtension(); // add 
    $picture = sha1($filename . time()) . '.' . $extension; //add 
    $offer->image = $picture; 
    $image->move($destinationPath, $picture); 
} 
$offer->save(); 

私は、最大で、ファイルのサイズを変更したいファイルを保存する前に、次のファイルを保存するとき、私は、画像を取得し、ディレクトリにそれを置くために私のコントローラメソッドを持っています。幅は800ピクセルです。 Laravelにイメージのサイズ変更や圧縮機能がありますか? これを行うにはどうすればよいでしょうか?

答えて

2

interventionと同様に、パッケージをインストールして使用することができます。公式サイトから

例:

$img = Image::make('public/foo.jpg'); 
$img->resize(320, 240); 
$img->insert('public/watermark.png'); 
$img->save('public/bar.jpg'); 
+0

を試してみてください? – Steve

+0

イメージへのパスを使用しますか? – Gokigooooks

+0

アップロードされた画像へのパスを最初のパラメータとして使用するだけです。 –

0
Image::make($request->file('image'))->resize(462, 462)->save('upload_path/filename.jpg')); 

私は私の例では、画像を取得し、画像内のパラメータとして渡す::()することができますどのようにこのコード

+0

コード内で何が起こっているかについていくつか説明してください。コードのダンプはここでは眉をひそめます。 – rayryeng

+0

まずこのパッケージをあなたのアプリに追加してください。ここにパッケージのインストールの詳細があります。 http://image.intervention.io/getting_started/installation 次に、指示に従い、ドキュメントからプロセスを使用しようとします。 –