2016-05-16 25 views
0

フォルダに画像をアップロードし、その名前をデータベースに挿入しようとしています。このようなものは画像名の代わりにデータベースに保存され、何もアップロードされません。C:\xampp\tmp\phpAA38.tmp画像アップロードして名前をデータベースに挿入するlaravel

$imageName = $request->file('image'); 
    if($imageName!==null) 
    { 
     $imageName->getClientOriginalExtension(); 
      $imageName->move(
      base_path() . '/public/images/new', $imageName); 
    } 
    $store= Result::insert(['Name'=>$name,Image'=>$imageName]); 

私はフォームがあなたのコード内のいくつかのエラーを持っているenctype="multipart/form-data"

答えて

0

を使用してファイルを受け付け確保。例えば。

  • あなたは
  • ファイル拡張子を保存または使用していないあなたは正しくファイルを移動していない

これは良い作品かどうかを確認してください:

$imageName = $request->file('image'); 
if($imageName!==null) 
{ 
    // get the extension 
    $extension = $imageName->getClientOriginalExtension(); 
    // create a new file name 
    $new_name = date('Y-m-d') . '-' . str_random(10) . '.' . $extension; 
    // move file to public/images/new and use $new_name 
    $imageName->move(public_path('images/new'), $imageName); 
} 
$store= Result::insert(['Name'=>$name,Image'=>$new_name]); 
+0

画像名がで挿入されています新しい名前ですが、画像はディレクトリにアップロードされません。 – micky

+0

'$ imageName-> move(public_path( 'images/new')、$ new_name)だったはずです。 – micky

+0

イメージは一時ディレクトリにアップロードされます。パブリックディレクトリに移動するには 'move()'を使う必要があります。私の例では、競合を避けるために新しい名前を付けました。 –

関連する問題