Php 无法通过表单上载图像?

Php 无法通过表单上载图像?,php,html,laravel-5,Php,Html,Laravel 5,这是我的HTML: <label for="attachement1">Attach a file: <small style="color:#999;">(type: zip/rar and below 10mb)</small></label> <input type="file" name="file1"/><b

这是我的HTML:

                            <label for="attachement1">Attach a file: <small style="color:#999;">(type: zip/rar and below 10mb)</small></label>

                            <input type="file" name="file1"/><br/>
                             <label for="snapshot">Snapshot / Thumbnail:</label>

                            <input type="file" name="thumbnail" required/><br/>
                            <input type="hidden" name="_token" value="{{ csrf_token() }}">

                            <input type="submit" class="btn btn-primary" name="Submit" value="Publish" />
当我试图编辑一个项目并上传一个图像(.jpg格式),然后单击提交时,我得到一个“缩略图必须是一个类型为:jpg,jpeg,png的文件。”我检查了数据库,但该文件没有被记录

出于某种原因,它将图像检测为某种外来图像文件类型,即使它是.jpg。

是否在表单上添加enctype=“multipart/form data”

 <form method="post" Action= "" enctype="multipart/form-data">

 </form


当您想要上传一些东西时,您总是需要将以下代码添加到表单中

enctype="multipart/form-data"
如果你不这样做,你就不能上传一些东西。
你把这个添加到你的html表单了吗?

我得到了一个开发者的帮助,所以我将发布我们是如何解决这个问题的

以下是该函数的完整修订代码:

/**
 * Update the specified resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, $id)
{
      $this->validate($request, [

      'thumbnail' => 'mimes:jpg,jpeg,png|max:800',

      'file1' => 'mimes:rar,zip|max:10000',

      ]);



      $file1=$request->file('file1');

      if(is_null($request->file('file1'))){

        $p=pages::where('id', '=', $request['id'])->first();

        $attmt1=$p->attachment;

      }

      else

      {

      $upload_dir='uploads';

    $attmt1=$file1->getClientOriginalName();

    $move=$file1->move($upload_dir, $attmt1);

      }



      if(is_null($request->file('thumbnail'))){

        $p=pages::where('id', '=', $request['id'])->first();

        $image=$p->thumbnail;

      }

      else

      {

        $img=$request->file('thumbnail');

        $upload_dir='thumbnails';

        $image=$img->getClientOriginalName();

        $move=$img->move($upload_dir, $image);

        //end thumbnail process 

      }

    $mypage->title = $request->title;
    $mypage->body = $request->body;
    //$mypage->thumbnail = $request->thumbnail;
    $mypage->slug = str_slug($request->slug, '-');
    $mypage->menu_name = $request->menu_name;
    $mypage->save();

    return redirect()->route('menupages.index')->with('message', 'Page updated successfully.');
}
控制器:

  public function update(Request $request, $id)
 {
       $this->validate($request, [

      'thumbnail' => 'mimes:jpg,jpeg,png|max:300000',

      'file1' => 'mimes:rar,zip|max:10000',

      ]);



      $file1 = $request->file('file1');
      if(is_null($request->file('file1'))){

      //  $p=pages::where('id', '=', $request['id'])->first();
        $p = MenuPage::find($request['id']);
        $attmt1 = $p['attachment'];

      }

      else

      {

      $upload_dir = 'uploads';

    $attmt1 = $file1->getClientOriginalName();

    $file1->move($upload_dir, $attmt1);

      }



      if(is_null($request->file('thumbnail'))){

      //  $p=pages::where('id', '=', $request['id'])->first();
        $p = MenuPage::findOrFail($request['id']);

        $image = $p->thumbnail;

      }

      else

      {

        $img = $request->file('thumbnail');

        $upload_dir = 'thumbnails';

        $image = $img->getClientOriginalName();

        $img->move($upload_dir, $image);

        //end thumbnail process 

      }

    //$check=pages::where('id', $request['id'])

    //->update([

    //  'title' => $title,

    //  'body' =>$body, 

    //  'thumbnail' =>$thumbnail, 

   //   'slug' =>$slug, 

    //  'school' =>$school, 

   //   'attachment' =>$attmt1, 

   //   'menu_name' =>$menu_name,

   //   ]);

    $mypage = MenuPage::find($id);
    $mypage->title = $request->title;
    $mypage->body = $request->body;
   $mypage->thumbnail = $image;
    $mypage->attachment = $attmt1;
    $mypage->slug = str_slug($request->slug, '-');
    $mypage->menu_name = $request->menu_name;
    $mypage->save();

    return redirect()->route('menupages.index')->with('message', 'Page updated successfully.');
}
查看文件(底部):

附加文件:(类型:zip/rar且小于10mb)

快照/缩略图:

回到basic,您是否在表单标记中实现了enctype=multipart/form数据?是的,这是代码的开头:
请尝试var_dump()检查文件类型和请求postedError:“var_dump()至少需要1个参数,如果“我使用了
请将文件另存为jpg,然后重试。该文件可能是GIF文件,并手动重命名为JPGYes,这是代码的开头:
查看我上面的评论。您能否提供完整的代码,以及按下提交按钮和调用php的部分?
                                <label for="attachement1">Attach a file: <small style="color:#999;">(type: zip/rar and below 10mb)</small></label>

                            <input type="file" name="file1"/><br/>
                            <label for="snapshot">Snapshot / Thumbnail:</label>

                            <input type="file" name="thumbnail" required/><br/>

                            <input type="hidden" name="_token" value="{{ csrf_token() }}">
                            <input name="_method" type="hidden" value="PUT">

                            <input type="submit" class="btn btn-primary" name="Submit" value="Publish" />