2017-04-15 68 views
1

我想附加一個文件與我的表單請求發送電子郵件但是我不斷收到以下錯誤執行腳本。Laravel:爲什麼我的路徑變量未定義?

未定義的變量:文件路徑

public function postEmail(Request $request) 
{ 
    // validate uploaded file 
    $validator = Validator::make($request->all(), [ 
     'menu' => 'required|mimetypes:image/jpeg,image/png,application/pdf' 
    ]); 

    if ($validator->fails()) { 
     return redirect('signup/services') 
       ->withErrors($validator) 
       ->withInput(); 
    } 

    $filepath = $request->menu->path(); 

    // email file 
    \Mail::send('emails.service_uploaded', ['title' => 'File Uploaded', 'message' => 'Example MSG'], function ($message) 
    { 
     $message->from('[email protected]', 'My Site'); 
     $message->to('[email protected]'); 
     $message->subject('New Upload'); 
     $message->attach($filepath); 
    }); 

    // send to next page 
} 

回答

2

您需要的文件路徑$變量傳遞給郵件發送::功能這樣

\Mail::send('emails.service_uploaded', ['title' => 'File Uploaded', 'message' => 'Example MSG'], function ($message) use ($filepath) 
{ 
    $message->from('[email protected]', 'My Site'); 
    $message->to('[email protected]'); 
    $message->subject('New Upload'); 
    $message->attach($filepath); 
});