2016-05-09 7 views
2

В laravel 5.2 я могу загрузить файл, используя код ниже, но не смог найти способ сохранить загруженное имя файла в базе данных.Laravel 5.2 + загрузить файл и сохранить имя в базе данных

$destinationPath = "test/"; 
    $file = $request->file('profile_pic'); 
    if($file->isValid()){ 
     $file->move($destinationPath, $file->getClientOriginalName()); 
     $user = User::findOrFail(Auth::user()->id); 
     $input = $request->all(); 
     $input['profile_pic']->pathname = $destinationPath.$file->getClientOriginalName(); 
     $user->update($request->all()); 
    } 

Кто-нибудь знает, как хранить имя файла в db?

+0

$ имя_файла = $ file-> getClientOriginalName(); Это, как получить имя файла и это, как вы объедините его к входам Input :: слияния (массив («имя_файла» => $ имя_файла)); – Poria

ответ

0

Я получил это. Глупая ошибка!

нужно заменить строку из

$input['profile_pic']->pathname = $destinationPath.$file->getClientOriginalName(); 

в

$input['profile_pic'] = $destinationPath.$file->getClientOriginalName(); 
2

Вы можете попробовать это, Он WIIL поможет вам:

$destinationPath = "test/"; 
    $file = $request->file('profile_pic'); 
    if($file->isValid()){ 
     $file->move($destinationPath, $file->getClientOriginalName()); 
     $user = User::findOrFail(Auth::user()->id); 
     $input = $request->all(); 
     $input['profile_pic']->pathname = $destinationPath.$file->getClientOriginalName(); 
     $user->update($request->all()); // Remove This 

     // Add this lines 

     $data['YOUR_DB_FIELD_NAME'] = $file->getClientOriginalName(); 
     $user->update($data); 
    } 
5

код для загрузки файлов/изображений и написания реальных имен в базе данных

public function store(Request $request) 
{ 
    $input = $request->all(); 

    if($file = $request->file('your_file')){ 

     $name = $file->getClientOriginalName(); 
     $file->move('folder_where_to_save', $name); 
     $input['your_file'] = $name; 

    } 

     Model_name::create($input); 
} 
2

Проверьте это полный код

$destinationPath = 'uploads'; 
$extension = Input::file('prd_img')->getClientOriginalExtension(); 
$fileName = rand(11111,99999).'.'.$extension; 
Input::file('prd_img')->move($destinationPath, $fileName); 
$data = array(
    'prd_name' => $prd_name, 
    'prd_cat' => $prd_cat, 
    'prd_sub_cat' => $prd_sub_cat, 
    'prd_img' => $fileName, 
    'remember_token' => $remember_token, 
    'created_at' => $time, 
); 
if(DB::table('products')->insert($data)){ 
    return redirect('add-product')->with('success', 'Product Succssfully Added.'); 
}else{ 
    return redirect('add-product')->with('error', 'Something wrong please try again.'); 
} 
Смежные вопросы