簡體   English   中英

使用 Laravel 上傳圖片:文件已上傳但不是圖片

[英]Image uploading with laravel: file uploaded but it is not image

我正在嘗試在results表中插入用戶的姓名、圖像和分數。 分數是通過比較quiz表中的正確答案來計算的。 其他數據一切正常,但圖像已上傳但不是名稱為 jpg 的圖像?

這就是我使用表單在視圖中提交的方式。

  <form method="POST" action="{{url("quiz/check/{$quiz[0]->category}/2")}}" enctype="multipart/form-data">

路線是:

Route::post('/quiz/check/{name}/{no}', 'playquiz@check');

控制器:

     public function check(Request $request, $name, $no)
  {

    $count=0; 
    $input=$request->all();
    $mycheck=$input['mycheck'];
    $eman=$input['name'];

        $stmt = quiz::where('category',$name)->where('level',$no)->get();
        $array=['category'=>$name,'level'=>$no];            
        $cat = quiz::where($array)->first();  

    foreach ($stmt as $c)
    {

         if(array_key_exists($c->qid, $mycheck) && $mycheck[$c->qid]==$c->answer)
            {
                $count=$count+1;
        }
    }

        $imageName = $request->file('image')->getClientOriginalExtension();

        $request->file('image')->move(
        base_path() . '/public/images/', $imageName);


   $addscore= Result::insert(['Name'=>$eman,'Score'=>$count,'Level'=>$no,'Category'=> $name,'Image'=>$imageName]);

        return View('quiz.check',['stmt'=>$stmt,'input'=>$input,'count'=>$count,'eman'=> $eman,'cat'=>$cat,'mycheck'=>$mycheck,'addscore'=>$addscore]);  

 }

這部分$stmt=DB::select('select * from results'); 將導致數組,這就是問題所在。

另一個問題是您正在使用DB 當 Laravel 提供 eloquent 時,為什么要自己編寫查詢?

您應該為您的對象使用模型,例如Result 然后您可以簡單地訪問所有值,例如: Result::all()等等。

我對你的建議,是閱讀一些教程,甚至更好地從 laracasts 初學者系列開始!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM