2017-08-18 29 views
0

我不知道爲什麼我的Excel表,上傳空這就是我的控制器功能(laravel)的Excel工作表的上載空

public function uploadedCars(Request $request) 
{ 

    if (!$request->hasFile('file')) 
     return Response::json(['error' => 'No File Sent.']); 

    if (!$request->file('file')->isValid()) 
     return Response::json(['error' => 'File is not valid']); 

    $file = $request->file('file'); 
    $extension = $file->getClientOriginalExtension(); 


    if ($extension == "csv" || $extension == "CSV" || $extension == "xlsx" || $extension == "XLSX" 
     || $extension == "rtf" || $extension == "rtf" || $extension == "ods" || $extension =="ODS"){} 
    else { 
     $status = 'sorry this file extension is not allowed'; 
     return Redirect::back()->with(session()->flash('Error_flash_message', $status)); 
    } 

    // $file = time().'.'.$request->file->getClientOriginalExtension(); 
    $path = $file->move(public_path('uploads'), $file); 

    $data = Excel::load($path, function($reader) { 
     })->get(); 


    if(!empty($data) && $data->count()){ 
     foreach ($data as $key => $value) { 
      $insert[] = [ 
         'cat_id' => $value->cat_id, 'car_name' => $value->car_name 
         ,'starting_price' => $value->starting_price 
         ,'image' => $value->image , 'car_name_ar' => $value->car_name_ar 
         ,'year_start' => $value->year_start , 'year_end' => $value->year_end 
        ]; 
     } 
     if(!empty($insert)){ 
      DB::table('cars')->insert($insert); 

     } 
    } 
    return redirect()->back()->with('success', true); 
} 

這是我的形式

<form method="POST" action="uploadedCars" enctype="multipart/form-data" > 

     Select Excel-Sheet to upload: 
    <input type="file" name="file" id="file"> 
    <br> 
    <button class="btn btn-primary" type="submit" name="submit"> Upload Sheet </button> 
</form> 
可以

別人的幫助我 ?當我dd()從上傳返回的數據沒有給我什麼,我的Excel表不是空的?

+0

調試它行。 –

+0

我已經這樣做了,直到dd(count($ data)) 它是0 –

+0

$ path echo是什麼?你得到正確的路徑嗎? –

回答

0

替換該行

$path = $file->move(public_path('uploads'), $file); 

與線

$destinationPath = 'uploads'; 
$file->move($destinationPath,$file->getClientOriginalName()); 
+1

謝謝,我解決了它,我忘了按CTRL + S我的Excel。 –