[英]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.