thinkphp表单上传文件并将文件路径保存到数据库中


Posted in PHP onJuly 28, 2016

上传单个文件,此文以上传图片为例,上传效果如图所示

thinkphp表单上传文件并将文件路径保存到数据库中

创建数据库upload_img,用于保存上传路径

CREATE TABLE `seminar_upload_img` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`img_name` varchar(255) DEFAULT NULL COMMENT '图片名称',
`img_url` varchar(255) DEFAULT NULL COMMENT '图片路径',
`create_time` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

在公共配置文件Common/Conf.php中连接数据库,并配置地址

return array(
'DB_TYPE'=>'mysql',
'DB_HOST'=>'127.0.0.1',
'DB_NAME'=>'seminar',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>3306,
'DB_PREFIX'=>'seminar_',
'DB_CHARSET'=>'utf8',
'SHOW_PAGE_TRACE'=>true,
/*地址替换*/
'TMPL_PARSE_STRING'=>array(
'__UPLOAD__'=>__ROOT__.'/Public/Uploads',
),
);

视图文件Upload/index.html中

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
#img{height:22px; border:#000 2px solid}
#button{height:30px; width:100px;}
</style>
</head>
<body>
<div><notemply name="data">
<img src="__UPLOAD__/{$data['img_url']}" width="200" height="100"/>
</notemply></div>
<div class="result" >上传允许文件类型:'jpg', 'gif', 'png', 'jpeg'图像文件后</div><br>
<form action="{:U('upload/Upload')}" method="post" enctype="multipart/form-data">
<input type="file" name="image"/>
<input type="submit" value="上传" id="button">
</form>
</body>
</html>

控制器UploadController.class.php中实现上传文件

namespace Home\Controller;
use Think\Controller;
class UploadController extends Controller {
public function index() {
$img=M('upload_img');
$sel=$img->order('create_time desc')->find();
$this->assign('data', $sel);
$this->display();
}
public function upload(){
$upload_img=M('upload_img');
if(!empty($_FILES)){
//上传单个图像
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 1*1024*1024 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = 'Public/Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
$upload->saveName=array('uniqid','');//上传文件的保存规则
$upload->autoSub = true;//自动使用子目录保存上传文件 
$upload->subName = array('date','Ymd');
// 上传单个图片
$info = $upload->uploadOne($_FILES['image']);
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功 获取上传文件信息
$img_url=$info['savepath'].$info['savename'];
$data['img_url']=$img_url;
$data['img_name']=$info['savename'];
$data['create_time']=NOW_TIME;
$upload_img->create($data);
$result=$upload_img->add();
if(!$result){
$this->error('上传失败!');
}else{
$this->success('上传成功');
}
}
}
}
}

以上所述是小编给大家介绍的thinkphp表单上传文件并将文件路径保存到数据库中,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
数据库的日期格式转换
Oct 09 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
PHP CURL 多线程操作代码实例
May 13 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
Yii核心验证器api详解
Nov 23 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
Apr 18 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
php实现每日签到功能
Nov 29 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 #PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 #PHP
thinkphp3.2.3 分页代码分享
Jul 28 #PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 #PHP
PHP实现带重试功能的curl连接示例
Jul 28 #PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 #PHP
php倒计时出现-0情况的解决方法
Jul 28 #PHP
You might like
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
node.js express中app.param的用法详解
2017/07/16 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
Django学习笔记之Class-Based-View
2017/02/15 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
车间班组长的职责
2013/12/13 职场文书
食堂员工工作职责
2013/12/18 职场文书
大二学生学习个人自我评价
2014/01/19 职场文书
决心书范文
2014/03/11 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
销售个人求职信范文
2014/04/28 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
JavaScript函数柯里化
2021/11/07 Javascript