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
PHP使用正则表达式清除超链接文本
Nov 12 PHP
浅析iis7.5安装配置php环境
May 10 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
33道php常见面试题及答案
Jul 06 PHP
PHP手机短信验证码实现流程详解
May 17 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 PHP
YII框架常用技巧总结
Apr 27 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
Mar 09 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 PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
js常见遍历操作小结
2019/06/06 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
2017/11/24 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
python yield关键词案例测试
2019/10/15 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
python 监控logcat关键字功能
2020/09/04 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
高性能装备提升营地:Kammok
2019/02/27 全球购物
护理自我鉴定范文
2013/10/06 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
超市商业计划书
2014/05/04 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
团员自我评价范文
2015/03/10 职场文书
2015年感恩节活动总结
2015/03/24 职场文书