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 相关文章推荐
php中session_unset与session_destroy的区别分析
Jun 16 PHP
phpmail类发送邮件函数代码
Feb 20 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
删除html标签得到纯文本可处理嵌套的标签
Apr 28 PHP
PHP操作文件的一些基本函数使用示例
Nov 18 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
Mar 25 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
python del()函数用法
2013/03/24 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
查看django版本的方法分享
2018/05/14 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
Python安装whl文件过程图解
2020/02/18 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
银行出纳岗位职责
2013/11/25 职场文书
人代会标语
2014/06/30 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
财务部会计岗位职责
2015/02/03 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书