簡體   English   中英

Laravel 5.1文件上傳唯一名稱

[英]Laravel 5.1 file upload unique name

我的控制器代碼將文件名存儲到數據庫表中,還將文件移動到文件夾中。

問題是我將文件的原始名稱存儲在數據庫表中,相比之下,我正在移動具有uniqueid()time() 將來會出現問題。 因為在數據庫表中文件名和移動文件名不同。

我想要的是將文件名存儲到數據庫表中,並將文件移動到具有uniqueid()time()的文件夾中。

代碼:

if(Input::hasFile('profile_pic')){
            $pic = Input::file('profile_pic');
            $mobile->photo1 = $pic[0]->getClientOriginalName();
            $mobile->photo2 = $pic[1]->getClientOriginalName();
            $mobile->photo3 = $pic[2]->getClientOriginalName();
            $mobile->photo4 = $pic[3]->getClientOriginalName();
            $mobile->photo5 = $pic[4]->getClientOriginalName();

                foreach ($pic as $k=>$file){
                    if(!empty($file)){
                        $file->move(public_path() . '/uploads/', time() . uniqid() . '-' . $k . '-laptop');
                    }
                }
        }

您將需要將目標路徑存儲到變量中,然后重用它來移動文件並將其值存儲在數據庫中

if(Input::hasFile('profile_pic')){
        $pic = Input::file('profile_pic');
        $mobile->photo1 = $pic[0]->getClientOriginalName();
        $mobile->photo2 = $pic[1]->getClientOriginalName();
        $mobile->photo3 = $pic[2]->getClientOriginalName();
        $mobile->photo4 = $pic[3]->getClientOriginalName();
        $mobile->photo5 = $pic[4]->getClientOriginalName();

            foreach ($pic as $k=>$file){
                if(!empty($file)){
                    $destinationPath = public_path() . '/uploads/', time() . uniqid() . '-' . $k . '-laptop';
                    $file->move($destinationPath);
                    // and you may store the path here to the database
                    // like yourObject->filePath = $destinationPath;
                    // yourObject->save();
                }
            }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM