thinkphp实现图片上传功能

 更新时间:2016年01月13日 16:51:57   作者:losetowin  
这篇文章主要介绍了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程序设计。

相关文章

  • PHP获取当前页面URL函数实例

    PHP获取当前页面URL函数实例

    这篇文章主要介绍了PHP获取当前页面URL函数实例,讲述了一个非常简单实用的获取当前页面URL的函数,并附带说明了server参数的用法,需要的朋友可以参考下
    2014-10-10
  • PHPExcel冻结(锁定)表头的简单实现方法

    PHPExcel冻结(锁定)表头的简单实现方法

    这篇文章主要介绍了PHPExcel冻结(锁定)表头的简单实现方法,涉及使用PHPExcel针对表格属性的简单操作技巧,非常简单实用,需要的朋友可以参考下
    2017-09-09
  • PHP预防SQL注入、CSRF和XSS攻击的常见措施

    PHP预防SQL注入、CSRF和XSS攻击的常见措施

    在开发 PHP 应用程序时,确保应用程序的安全性至关重要,SQL 注入、CSRF(跨站请求伪造)和 XSS(跨站脚本攻击)是一些常见的安全威胁,本文给大家介绍了PHP预防SQL注入、CSRF和XSS攻击的常见措施,需要的朋友可以参考下
    2023-11-11
  • 简单了解WordPress开发中update_option()函数的用法

    简单了解WordPress开发中update_option()函数的用法

    这篇文章主要介绍了WordPress开发中update_option()函数的用法,update_option()函数经常被用于更新数据库中的数据,需要的朋友可以参考下
    2016-01-01
  • mongodb和php的用法详解

    mongodb和php的用法详解

    在本篇文章中小编给大家分享了关于mongodb和php的用法以及相关知识点,需要的朋友们学习下。
    2019-03-03
  • PHP读取PPT文件的方法

    PHP读取PPT文件的方法

    这篇文章主要介绍了PHP读取PPT文件的方法,通过php第三方类库PHPPowerPoint实现对ppt文件的读取操作,需要的朋友可以参考下
    2015-12-12
  • 让PHP显示Facebook的粉丝数量方法

    让PHP显示Facebook的粉丝数量方法

    如果你的网站或者博客上有内链的Facebook页面,你或许想知道拥有多少粉丝,下面php可以帮助你查看Facebook粉丝数
    2014-01-01
  • 用缓存实现静态页面的测试

    用缓存实现静态页面的测试

    用缓存实现静态页面的测试...
    2006-12-12
  • php中url传递中文字符,特殊危险字符的解决方法

    php中url传递中文字符,特殊危险字符的解决方法

    本文章结合php中的urldecode,base64_encode函数然后再结合自己写的替换函数来进行安全传递url中文字符,特殊危险字符,有需要的朋友可以参考一下
    2013-08-08
  • 由php if 想到的些问题

    由php if 想到的些问题

    在编写一段并不复杂的脚本的时候,发现了一个问题。先说说代码,它的主要功能是用 PHP 判断是否生成一段 Javascript,并使用 Cookie 记录状态。
    2008-03-03

最新评论