laravel5.5框架的上传图片功能实例分析【仅传到服务器端】
本文实例讲述了laravel5.5框架的上传图片功能。分享给大家供大家参考,具体如下:
这里面包含单张和多张图片的上传
首先先来前端页面的html
上传图片 {{csrf_field()}}
上传图片
记得路径那改成post
然后就是后台代码
到config/filesystem.php下增加一个
'upload'=>[ 'driver'=>'local', 'root'=>'uploadImages' ],
useIlluminate\Http\Request;
//单张图片 publicfunctionuploadImg(Request$request){ if($request->hasFile('filename')){ $postPics=$request->file('filename'); foreach($postPicsas$k=>$v){ $extension=$v->extension(); $rule=['jpg','png','gif','jpeg']; if(!in_array($extension,$rule)){ return'图片格式需要为jpg,png,gif格式'; } $dir=date('ymd'); $fileName=time().mt_rand(1,999).".jpg"; $storeResult=$v->storeAs('filename',$dir."/".$fileName,'upload');//默认保存位置是要到filesystem.php设置,保存到storage/app/.. $outPut[]=[ 'img_url'=>"images/".$storeResult,'uid'=>$uid,'exam_id'=>$examId,'question_id'=>$questionId, ]; } DB::table('x2_upload_img')->insert($outPut); echo"写到数据库了,图片上去了只是ide加载很慢"; }else{ exit('未获得到上传文件,或上传失败'); }
//多图上传 publicfunctionuploadImgs(Request$request){ if($request->hasFile('filename')){ $postPics=$request->file('filename'); foreach($postPicsas$k=>$v){ $extension=$v->extension(); $rule=['jpg','png','gif','jpeg']; if(!in_array($extension,$rule)){ return'图片格式需要为jpg,png,gif格式'; } $storeResult=$v->storeAs('filename','201810/test1.jpg','upload');//默认保存位置是要到filesystem.php设置,保存到storage/app/.. $outPut[]=[ 'extension'=>$extension, 'store_result'=>$storeResult ]; } echo""; print_r($outPut);die; } exit('未获得到上传文件,或上传失败'); }//上传图片第二种方式(form表单直接传过来) publicuploadImg(){ $image=$_FILES["photo"]["tmp_name"]; $fp=fopen($image,"r"); $file=fread($fp,$_FILES["photo"]["size"]);//二进制数据流 //保存地址 $imgDir='./Uploads/'; //要生成的图片名字 $filename=date("Ym")."/".md5(time().mt_rand(10,99)).".png";//新图片名称 $newFilePath=$imgDir.$filename; $data=$file; $newFile=fopen($newFilePath,"w");//打开文件准备写入 fwrite($newFile,$data);//写入二进制流到文件 fclose($newFile);//关闭文件 }更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。