2017-10-04 17 views
1

私はアップロード中にイメージのサムネイルも作成するイメージアップロードの簡単なコードを持っています。問題は、サムネイルがディレクトリに保存されますが、データベースにはサムネイルへのパスが保存されないということです。元の画像へのパスは正しく保存されます。サムネイルのパスがデータベースに保存されていません

これは、コード

$image = $request->file('image'); 

    if($image && $image->isValid()){ 

     $imagename = str_random(20).'.'.$image->getClientOriginalExtension(); 

     $destinationPath = public_path('/uploads'); 
     $thumb_img = Image::make($image->getRealPath())->resize(200, 200); 
     $thumb_img->save($destinationPath.'/thub_'.$imagename,80); 

     $destinationPath = public_path('/uploads'); 
     $image->move($destinationPath, $imagename);        
    } 

    $item->image = $imagename; 
    $item->image_thumb = $thumb_img; 

ので、$item->image_thumb = $thumb_img;がデータベースに保存されて取得されていないです。私はfillableの列にimage_thumbを追加しました。

何が問題なのですか?

+1

まず、 '$ thumb_img'という名前を取得してからDB列に保存する必要があります。 '$ thumb_img = $ destinationPath。 '/ thub _'。$ imagename;' –

+0

ベストアンサーを受け入れるのを忘れないでください! :) –

答えて

1
$thumb_img = Image::make($image->getRealPath())->resize(200, 200); 
$thumb_img->save($destinationPath.'/thub_'.$imagename,80); 
$thumb_img = $destinationPath.'/thub_'.$imagename; 
1

ここでは、画像をDBに保存するには$imagename = str_random(20).'.'.$image->getClientOriginalExtension();が表示されます。しかし、$thumb_imgはどうですか?

好きですか:あなたのDBの列に$thumb_imgを保存するには

$thumb_img = $destinationPath.'/thub_'.$imagename; 

。これにより、サムネイル画像の名前がDBに保存されます。

希望すると、これが役立ちます。

関連する問題