2017-09-05 59 views
0

我有一個正在上傳的文件,但該名稱似乎沒有更改。我想重新命名我上傳的文件。Laravel 5.0:更改上傳文件的名稱

if ($request->hasFile('cv')){ 
    $file=$request->file('cv'); 
    $fileName= $user->lastName + date("Y-m-d H:i:s"); 
    $destinationPath=config('app.CVDestinationPath')."/cv"; 
    $uploaded = Storage::put($destinationPath, file_get_contents($file->getRealPath())); 
} 

這段代碼在上傳過程中正常工作,但不會重命名文件。我將如何使它的名稱爲$ fileName?

+0

看起來好像你正在向我應用'fileName'變量。仔細檢查你的代碼? – GMR516

+0

@ GMR516是的我只是得到'$ fileName',但我不知道把它放在哪裏,這將使文件有一個名稱。 – Muhammad

回答

2

文件名添加到目標路徑,像這樣

// note concatenator in PHP is `.` and not `+` 
$fileName= $user->lastName . date("Y-m-d H:i:s"); 

$destinationPath=config('app.CVDestinationPath')."/cv/$fileName"; 
+0

它應該是()。「/ cv /」。 $ fileName –

+1

@SreejithBS我假設你不知道PHP自動在雙引號字符串裏擴展'$ variables' – RiggsFolly

2

試試這個:

1)獲取file擴展

2)串聯userlastnamedatefile_extension

3)分配fileNamedestinationPath

if ($request->hasFile('cv')){ 
    $file = $request->file('cv'); 

    $file_extension = $file->getClientOriginalExtension(); //** get filename extension 
    $fileName = $user->lastName . date("Y-m-d H:i:s") . $file_extension; 

    $destinationPath = config('app.CVDestinationPath')."/cv/".$fileName; 
    $uploaded = Storage::put($destinationPath, file_get_contents($file->getRealPath())); 
} 

希望它有幫助。

+0

完美地工作,謝謝! – Muhammad