为我想在Laravel 5中上传的每张图片生成和随机ID号码的最佳方法是什么?
我的上传:
<input type="file" id="mypicture" name="mypicture">
控制器:
public function MyPicture(Request $request){
$user = Auth::user();
$user->mypicture= $request->mypicture;
$user->save();
return redirect()->back();
}
这就是我总是做其他事情的方式:
->uniqueid = 'VA'.str_random(28);
如何将其添加到我的Controller中以获取图像名称? 我怎样才能使用字母字符而不是数字?或者我必须更改我的数据库表。
由于
答案 0 :(得分:2)
试试这个:
public function MyPicture(Request $request){
$user = Auth::user();
$user->mypicture = date('mdYHis') . uniqid() . $request->mypicture;
$user->save();
return redirect()->back();
}
您可以使用日期(Y-m-d H:i:s)和uniqid()
为每个文件生成唯一名称。
答案 1 :(得分:0)
使用uniqid()
if (Input::hasFile('mypicture')) {
$mypicture = Input::file('mypicture');
$user->mypicture= uniqid().$mypicture->getClientOriginalName();
}
答案 2 :(得分:0)
在这里做同样的事情:
$user = Auth::user();
$user->mypicture = $request->mypicture;
$user->filename = str_random(28);
$user->save();
$request->mypicture->storeAs('images', $user->filename);
如果您只想使用字母,请使用the existing solutions之一。
答案 3 :(得分:0)
Laravel使用其文件外观为此构建了一个内置方法。
来自laravel docs:
setsockopt(zmq.SNDHWM, 10)
setsockopt(zmq.RCVHWM, 10)
默认情况下,store方法将生成一个唯一ID作为文件名。 store方法将返回文件的路径,以便您可以在数据库中存储路径,包括生成的文件名。