Php 使用laravel上载图像:已上载文件,但不是图像
我正在尝试在Php 使用laravel上载图像:已上载文件,但不是图像,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在尝试在结果表中插入用户的姓名、图像和分数。通过比较测验表中的正确答案来计算分数。其他数据一切都很好,但图像上传了一些东西,但它不是名为jpg的图像 这就是我在视图中使用表单提交的方式 <form method="POST" action="{{url("quiz/check/{$quiz[0]->category}/2")}}" enctype="multipart/form-data"> 控制员: public function check(Reques
结果
表中插入用户的姓名、图像和分数。通过比较测验
表中的正确答案来计算分数。其他数据一切都很好,但图像上传了一些东西,但它不是名为jpg的图像
这就是我在视图中使用表单提交的方式
<form method="POST" action="{{url("quiz/check/{$quiz[0]->category}/2")}}" enctype="multipart/form-data">
控制员:
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提供有说服力的信息时自己写问题
您应该为对象使用模型,如Result
。然后您可以简单地访问所有值,如:Result::all()
等等
我给你们的建议是,阅读一些教程,或者更好地从laracasts初学者系列开始 试图在哪一行获取非对象的属性?也不应该是$request->file('image')->move
应该是$request->file('image')->move(
)?正如你建议的那样,我现在使用的是雄辩的并学习了一些教程,但在这里我已经更新了这个问题。
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]);
}