Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel文件名数据库_Php_Laravel 5.3 - Fatal编程技术网

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)”;“现在它正在生成一个额外的文件夹。