首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多文件上载的Laravel-api

用于多文件上载的Laravel-api
EN

Stack Overflow用户
提问于 2019-02-26 08:21:12
回答 3查看 3.7K关注 0票数 1

我想为多个文件上传制作laravel,当我上传时,它给出的错误$data是未定义的variable.please,帮助我如何删除这个错误..?

FileUploadController.php

代码语言:javascript
复制
<?php

namespace App\Http\Controllers\API;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\User;
use App\Detail;

use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Auth;
class FileUploadController extends Controller
{
    public function uploadFile(Request $request){

        $this->validate($request, [

        'user_sharing_image' => 'required',

        'user_sharing_image.*' => 'mimes:doc,pdf,docx,zip'

        ]);

        if($request->hasfile('user_sharing_image'))

         {
            foreach($request->file('user_sharing_image') as $file)

            {
                $name=$file->getClientOriginalName();

                $file->move(public_path().'/files/', $name);  

                $data[] = $name;  
            }
         }

         $file= new Detail();
         $file->title = $request->title;
         $file->info = $request->info;
         $file->user_id = $request->user()->id;
         $file->user_sharing_image=json_encode($data);

         $file->save();

        return back()->with('success', 'Data Your files has been successfully added');
    }
}

我用的是拉拉护照,我想要存储user_id,但不要使用,请帮我解决这两个问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-02-26 08:37:06

试试看

代码语言:javascript
复制
$data = [];
if($request->hasfile('user_sharing_image'))
 {
    foreach($request->file('user_sharing_image') as $key=>$file)

    {
        $name=$file->getClientOriginalName();    
        $file->move(public_path().'/files/', $name);      
        $data[$key] = $name;  
    }
 }

 $file= new Detail();
 $file->title = $request->title;
 $file->info = $request->info;
 $file->user_id = Auth::user()->id;
 $file->user_sharing_image=json_encode($data);

 $file->save();
票数 4
EN

Stack Overflow用户

发布于 2019-02-26 08:37:43

因为没有定义$data,所以您得到了这个错误。

foreach循环之前,可以将其声明为$data = array();

票数 0
EN

Stack Overflow用户

发布于 2019-02-26 11:31:38

我认为您应该使用file方法返回文件数组:

代码语言:javascript
复制
     foreach($request->files('user_sharing_image') as $file)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54881097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档