thinkphp实现图片上传功能
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-05 11:45:41 浏览: 评论:0
这篇文章主要介绍了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使用者里面通常使用+连接两个字符串的,所以这一点容易混淆。
Tags: thinkphp图片上传
相关文章
- ·thinkphp实现图片上传功能分享(2020-10-15)
- ·ThinkPHP框架实现FTP图片上传功能示例(2021-11-15)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)