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抽象工厂模式(Elgg)
Mar 21 PHP
PHP print类函数使用总结
Jun 25 PHP
PHP Array交叉表实现代码
Aug 05 PHP
php printf输出格式使用说明
Dec 05 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
详细解读PHP中接口的应用
Aug 12 PHP
PHP实现动态执行代码的方法
Mar 25 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 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
德生H-501的评价与改造
2021/03/02 无线电
php实现webservice实例
2014/11/06 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
封装的原生javascript弹出层代码
2010/09/24 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
js抽奖转盘实现方法分析
2020/05/16 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
出生证明公证书
2014/04/09 职场文书
捐资助学倡议书
2014/04/15 职场文书
企业文化口号
2014/06/12 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL