ThinkPHP图片上传的使用 .

关于图片上传,实现方法很多,比如可以用jQuery,当然,我们的thinkPHP内置了关于图片上传的功能,我们可以直接使用,使用方法如下:

首先,是表单书写,我们建立如下表单:

 

01.<form action="__URL__/addChk" method="post" enctype="multipart/form-data">  
02.    <table cellspacing="1" cellpadding="2" width="99%" align="center" border="0">  
03.        <tbody>  
04.            <tr>  
05.            <th align="left" colspan="2" height="25">添加新游戏</th>  
06.            </tr>  
07.            <tr>  
08.            <td  width="17%" height="23">游戏名称</td>  
09.            <td width="83%"><strong><input type="text" name="gamename" /></strong></td>  
10.            </tr>  
11.            <tr>  
12.            <td  height="23">游戏图片</td>  
13.            <td ><input type="file" name="gameimg"/></td>  
14.            </tr>  
15.            <tr>  
16.            <td  width="17%" height="23">游戏简介<span></span></td>  
17.            <td  width="83%"><textarea name="gameinfo" cols="30" rows="5"></textarea></td>  
18.            </tr>  
19.            <tr>  
20.            <td height="23">游戏地址:</td>  
21.            <td>  
22.            <input type="text" name="gamelink"/></td>  
23.            </tr>  
24.            <tr>  
25.            <td height="23" colspan="2" ><input type="submit" value="添加" />      
26.                <input type="reset" value="重新填写"/></td>  
27.            </tr>  
28.        </tbody>  
29.        </table>  
30.</form>  


这里有个非常重要的地方,就是一定要在表单项目添加上enctype="multipart/form-data"这一点是非常重要的,因为这个是允许你上传的类型的,如果没有他,就不能上传,关于enctype的其他几种类型,我会在以后的文章上说明。这里我们新建php文件AddAction.class.php,代码如下;

  1. class AddAction extends Action{  
  2.     /** 
  3.     * 说明:ThinkPHP文件上传测试函数 
  4.     * 作者:攀爬的蜗牛 
  5.     * 时间:2012-03-29 
  6.     * 版本:1.0 
  7.     * 网址:http://www.dutycode.com 
  8.     */  
  9.     public function addChk(){  
  10.             //导入图片上传类   
  11.             import("ORG.Net.UploadFile");  
  12.             //实例化上传类   
  13.             $upload = new UploadFile();  
  14.             $upload->maxSize = 3145728;  
  15.             //设置文件上传类型   
  16.             $upload->allowExts = array('jpg','gif','png','jpeg');  
  17.             //设置文件上传位置   
  18.             $upload->savePath = "./Public/Uploads/";//这里说明一下,由于ThinkPHP是有入口文件的,所以这里的./Public是指网站根目录下的Public文件夹   
  19.             //设置文件上传名(按照时间)   
  20.             $upload->saveRule = "time";  
  21.             if (!$upload->upload()){  
  22.                 $this->error($upload->getErrorMsg());  
  23.             }else{  
  24.                 //上传成功,获取上传信息   
  25.                 $info = $upload->getUploadFileInfo();  
  26.             }  
  27.   
  28.             //保存表单数据,包括上传的图片   
  29.             $game = M("Game");  
  30.             $game->create();  
  31.             $savename = $info[0]['savename'];  
  32.             //$savepath = $info[0]['savepath'];   
  33.             //$aa = $savepath.$savename;   
  34.             //dump($aa);   
  35.             $imgurl = "http://demo.dutycode.com/Public/Uploads/".$savename;//这里是设置文件的url注意使用.不是+  
  36.             //dump($imgurl);   
  37.             $data['gamename'] = $_POST['gamename'];  
  38.             $data['gameimg'] = $imgurl;  
  39.             $data['gameinfo'] = $_POST['gameinfo'];  
  40.             $data['gamelink'] = $_POST['gamelink'];  
  41.             $data['publishtime'] = date("Y-m-d H:i:s");  
  42.             $res = $game->add($data);//写入数据库    
  43.             if ($res){  
  44.                 $this->redirect("addGame","",2,"添加成功!两秒后跳回");  
  45.             }else{  
  46.                 $this->redirect("addGame","",2,"失败!两秒后跳回");  
  47.             }  
  48. }  
  49. 这里说明一下,首先是php中的连接符是点(.)不是+,这一点在很多java使用者里面通常使用+连接两个字符串的,所以这一点容易混淆,。关于ThinkPHP的详细文件上传的东西,在ThinkPHP官方给出的手册中有详细的介绍,大家可以去看看。

    关于enctype的一些说明,请看这篇文档。http://www.w3school.com.cn/tags/att_form_enctype.asp

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值