thinkphp实现图片上传功能

前端之家收集整理的这篇文章主要介绍了thinkphp实现图片上传功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

添加新游戏 名称图片

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

*/
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","失败!两秒后跳回");
}
}

这里说明一下,首先是PHP中的连接符是点(.)不是+,这一点在很多java使用者里面通常使用+连接两个字符串的,所以这一点容易混淆。

以上就是针对thinkPHP图片上传功能实现代码的介绍,帮助大家更好的学习掌握PHP程序设计。

原文链接:https://www.f2er.com/thinkphp/20505.html

猜你在找的ThinkPHP相关文章