Php Laravel文件名数据库
在Php Laravel文件名数据库,php,laravel-5.3,Php,Laravel 5.3,在Laravel 5.3中,我上传的文件如下: public function upload(Request $request, User $user, $directory) { if($request->hasFile('attachment')) { $attachments = $request->file('attachment'); foreach ($attachments as $attachment) {
Laravel 5.3
中,我上传的文件如下:
public function upload(Request $request, User $user, $directory)
{
if($request->hasFile('attachment'))
{
$attachments = $request->file('attachment');
foreach ($attachments as $attachment) {
$fileName = $attachment->store('users/' . $user->id . '/' . $directory);
$file = new File;
$file->path = $fileName;
$file->user_id = $user->id;
$this->files()->save($file);
}
}
}
public function upload(Request $request, User $user, $directory)
{
if($request->hasFile('attachment'))
{
$attachments = $request->file('attachment');
foreach ($attachments as $attachment) {
$random = str_random(30);
$filename = $random . $attachment->getClientOriginalName();
$attachment->storeAs('users/' . $user->id . '/' . $directory, $filename);
$file = new File;
$file->path = $filename;
$file->user_id = $user->id;
$this->files()->save($file);
}
}
}
所以它是这样存储的:
public function upload(Request $request, User $user, $directory)
{
if($request->hasFile('attachment'))
{
$attachments = $request->file('attachment');
foreach ($attachments as $attachment) {
$fileName = $attachment->store('users/' . $user->id . '/' . $directory);
$file = new File;
$file->path = $fileName;
$file->user_id = $user->id;
$this->files()->save($file);
}
}
}
public function upload(Request $request, User $user, $directory)
{
if($request->hasFile('attachment'))
{
$attachments = $request->file('attachment');
foreach ($attachments as $attachment) {
$random = str_random(30);
$filename = $random . $attachment->getClientOriginalName();
$attachment->storeAs('users/' . $user->id . '/' . $directory, $filename);
$file = new File;
$file->path = $filename;
$file->user_id = $user->id;
$this->files()->save($file);
}
}
}
如何存储随机名称(路径)而不是整个路径
(随机唯一名称,如:7b11ae012907b5811cb6985d39e16052
)
}我是这样做的:
public function upload(Request $request, User $user, $directory)
{
if($request->hasFile('attachment'))
{
$attachments = $request->file('attachment');
foreach ($attachments as $attachment) {
$fileName = $attachment->store('users/' . $user->id . '/' . $directory);
$file = new File;
$file->path = $fileName;
$file->user_id = $user->id;
$this->files()->save($file);
}
}
}
public function upload(Request $request, User $user, $directory)
{
if($request->hasFile('attachment'))
{
$attachments = $request->file('attachment');
foreach ($attachments as $attachment) {
$random = str_random(30);
$filename = $random . $attachment->getClientOriginalName();
$attachment->storeAs('users/' . $user->id . '/' . $directory, $filename);
$file = new File;
$file->path = $filename;
$file->user_id = $user->id;
$this->files()->save($file);
}
}
}
您需要一些随机函数来生成随机名称并调用该函数来代替$directory“$fileName=$attachment->store('users/'.$user->id./'.$directory)”;“现在它正在生成一个额外的文件夹。