创建数据库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 HomeController;use ThinkController;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 ThinkUpload();// 实例化上传类$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表单上传文件并将文件路径保存到数据库中,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!