Laravel 5.1 文件上传唯一名称
Laravel 5.1 file upload unique name
我的控制器代码,我将文件名存储到数据库中 table 并将文件移动到文件夹中。
问题是我将文件的原始名称存储在数据库 table 中,相比之下,我正在使用 uniqueid()
和 time()
移动文件。将来会出现问题。因为在数据库中 table 文件名和移动文件的名称不同。
我想要的是将文件名存储到数据库 table 中,然后将文件移动到 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();
}
}
}
我的控制器代码,我将文件名存储到数据库中 table 并将文件移动到文件夹中。
问题是我将文件的原始名称存储在数据库 table 中,相比之下,我正在使用 uniqueid()
和 time()
移动文件。将来会出现问题。因为在数据库中 table 文件名和移动文件的名称不同。
我想要的是将文件名存储到数据库 table 中,然后将文件移动到 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();
}
}
}