thinkphp实现图片上传功能
程序员文章站
2022-06-09 10:10:23
关于图片上传,实现方法很多,比如可以用jquery,当然,我们的thinkphp内置了关于图片上传的功能,我们可以直接使用,使用方法如下:
首先,是表单书写,我们建立如下...
关于图片上传,实现方法很多,比如可以用jquery,当然,我们的thinkphp内置了关于图片上传的功能,我们可以直接使用,使用方法如下:
首先,是表单书写,我们建立如下表单:
<form action="__url__/addchk" method="post" enctype="multipart/form-data"> <table cellspacing="1" cellpadding="2" width="99%" align="center" border="0"> <tbody> <tr> <th align="left" colspan="2" height="25">添加新游戏</th> </tr> <tr> <td width="17%" height="23">游戏名称</td> <td width="83%"><strong><input type="text" name="gamename" /></strong></td> </tr> <tr> <td height="23">游戏图片</td> <td ><input type="file" name="gameimg"/></td> </tr> <tr> <td width="17%" height="23">游戏简介<span></span></td> <td width="83%"><textarea name="gameinfo" cols="30" rows="5"></textarea></td> </tr> <tr> <td height="23">游戏地址:</td> <td> <input type="text" name="gamelink"/></td> </tr> <tr> <td height="23" colspan="2" ><input type="submit" value="添加" /> <input type="reset" value="重新填写"/></td> </tr> </tbody> </table> </form>
这里有个非常重要的地方,就是一定要在表单项目添加上enctype="multipart/form-data"这一点是非常重要的,因为这个是允许你上传的类型的,如果没有他,就不能上传,关于enctype的其他几种类型,我会在以后的文章上说明。这里我们新建php文件addaction.class.php,代码如下;
class addaction extends action{ /** * 说明:thinkphp文件上传测试函数 * 版本:1.0 */ public function addchk(){ //导入图片上传类 import("org.net.uploadfile"); //实例化上传类 $upload = new uploadfile(); $upload->maxsize = 3145728; //设置文件上传类型 $upload->allowexts = array('jpg','gif','png','jpeg'); //设置文件上传位置 $upload->savepath = "./public/uploads/";//这里说明一下,由于thinkphp是有入口文件的,所以这里的./public是指网站根目录下的public文件夹 //设置文件上传名(按照时间) $upload->saverule = "time"; if (!$upload->upload()){ $this->error($upload->geterrormsg()); }else{ //上传成功,获取上传信息 $info = $upload->getuploadfileinfo(); } //保存表单数据,包括上传的图片 $game = m("game"); $game->create(); $savename = $info[0]['savename']; //$savepath = $info[0]['savepath']; //$aa = $savepath.$savename; //dump($aa); $imgurl = "http://demo.dutycode.com/public/uploads/".$savename;//这里是设置文件的url注意使用.不是+ //dump($imgurl); $data['gamename'] = $_post['gamename']; $data['gameimg'] = $imgurl; $data['gameinfo'] = $_post['gameinfo']; $data['gamelink'] = $_post['gamelink']; $data['publishtime'] = date("y-m-d h:i:s"); $res = $game->add($data);//写入数据库 if ($res){ $this->redirect("addgame","",2,"添加成功!两秒后跳回"); }else{ $this->redirect("addgame","",2,"失败!两秒后跳回"); } }
这里说明一下,首先是php中的连接符是点(.)不是+,这一点在很多java使用者里面通常使用+连接两个字符串的,所以这一点容易混淆。
以上就是针对thinkphp图片上传功能实现代码的介绍,帮助大家更好的学习掌握php程序设计。
上一篇: 抖音镜像视频怎么拍?
推荐阅读
-
Servlet+Jsp实现图片或文件的上传功能具体思路及代码
-
Android 编辑头像功能简单实现实例(图片选取,裁剪)
-
Retrofit2.0 实现图文(参数+图片)上传方法总结
-
Android自定义实现图片加文字功能
-
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
-
基于ASP.NET+easyUI框架实现图片上传功能(判断格式+即时浏览 )
-
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
-
基于ASP.NET+EasyUI框架实现图片上传提交表单功能(js提交图片)
-
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
-
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传