PHP怎么实现将Word文件保存到SQL Server数据库
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章将为大家详细讲解有关PHP怎么实现将Word文件保存到SQL Server数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。完成界面:前端的页面文件:
千家信息网最后更新 2026年11月04日PHP怎么实现将Word文件保存到SQL Server数据库
这篇文章将为大家详细讲解有关PHP怎么实现将Word文件保存到SQL Server数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
完成界面:

前端的页面文件:
layui
后台PHP文件:
0){ $returnArr['c05']='文件有错误';} $uploadFile = $_FILES["wordFile"];//得到上传的文件$wordBlob=file_get_contents($uploadFile['tmp_name']);file_put_contents("123.docx",$wordBlob , FILE_APPEND);//将文件内容写到磁盘上//将内容字符串转为十六进制字符串$wordHexData = "0x".bin2hex($wordBlob); $returnArr['c01']=$C01;$returnArr['c02']=$C02;$returnArr['c03']=$C03;$returnArr['c04']=$C04; $returnArr['c06']=$C06;$returnArr['c07']=$C07;$returnArr['c08']=$C08;$returnArr['c09']=$C09; //准备写入数据库require 'ZTBLinkConfig.php';//准备插入数据$sql = "insert into HtTemplateFile(c01,c02,c03,c04,c06,c07,c08,c09,c05) values('$C01','$C02','$C03','$C04','$C06','$C07','$C08','$C09',$wordHexData)";$result =$ZTBConn->query($sql);$returnArr['c05']=$result; //读出来写到磁盘上,这样可以判断上传文件是否真的写入了。// $sql = "select * from HtTemplateFile where c01='模板文件名' and c08='项目属性' and c09='2021'";// $result =$ZTBConn->query($sql);// while($row=$result->fetch()){// $hexData= $row['c05'];// } // $binData=hex2bin($hexData);// file_put_contents("333.docx",$hexData , FILE_APPEND);//将文件内容写到磁盘上 echo json_encode($returnArr,JSON_UNESCAPED_UNICODE);?>注意点:
1、美化上传按钮
普通的文件上传按钮不好看,与整个界面不协调,放上一个DIV后再放一个LayUI的按钮就可以了,然后使用事件代理,触发实际文件的上传,是change事件。
document.getElementById('selectWord').addEventListener('click',function(){ $("#readFile").trigger("click"); });2、封装上传的数据
使用formData,可以封装整个form。
let formID = document.getElementById("uploadFile");let formData = new FormData(formID);//FormData构造器接收的是一个form的DOM对象也可以按照要求逐个添加。
let wordFile = document.getElementById('readFile');//用FormData对象对表单数据进行封装const fd = new FormData();//FormData构造器接收的是一个form的DOM对象 fd.append("wordFile",wordFile.files[0]);//Word文件数据fd.append("c01",$('#Dc01').val());//模板文件名fd.append("c02",currentUser);//上传人fd.append("c03",currentDatetime);//上传时间fd.append("c04",$('#Dc04').val());//简要说明fd.append("c06",$('#Dc06').val());//项目名称fd.append("c07",$('#Dc07').val());//子项目名称fd.append("c08",$('#Dc08').val());//项目类型fd.append("c09",$('#Dc09').val());//适用年度既然是对象,最好使用const定义。
完整的上传,使用ajax。
$.ajax({ url: 'ZTBHTTemplateFileAdd.php', type: "POST", data: fd, dataType: "JSON", async: true, processData: false,//设置为false,JQuery则不对数据进行序列化 contentType: false,//设置为false,JQuery则不设Content-Type请求头 beforeSend: function(xhr){ console.log('开始!'); }, complete: function(xhr,status){ console.log('完成!'); }, error: function(xhr,status,error){ console.log('请求出错!'); }, success: function(result){ console.log('表单提交成功!'); } }); return false;//阻止表单的默认提交事件 }注意,返回值一定要是JSON格式!!!
3、接收上传的数据,我为了检查数据,是生成在磁盘上,这样就好判断上传的结果,保存到数据库后也是先取出来再写到磁盘上来判断。
保存的时候需要将数据转成16进制的,读取出来就不用再转了!
写入数据库前写入磁盘:
$uploadFile = $_FILES["wordFile"];//得到上传的文件$wordBlob=file_get_contents($uploadFile['tmp_name']);file_put_contents("123.docx",$wordBlob , FILE_APPEND);//将文件内容写到磁盘上//将内容字符串转为十六进制字符串$wordHexData = "0x".bin2hex($wordBlob);从数据库中读出来再写入磁盘:
//读出来写到磁盘上,这样可以判断上传文件是否真的写入了。$sql = "select * from HtTemplateFile where c01='模板文件名' and c08='项目属性' and c09='2021'";$result =$ZTBConn->query($sql);while($row=$result->fetch()){ $hexData= $row['c05'];} file_put_contents("333.docx",$hexData , FILE_APPEND);//将文件内容写到磁盘上MS SQL Server 2014的文件字段为image。
关于"PHP怎么实现将Word文件保存到SQL Server数据库"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
数据
磁盘
对象
项目
数据库
内容
名称
模板
表单
文件名
事件
字符
字符串
时间
构造器
准备
封装
子项
子项目
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技海报
互联网科技有限公司经营范围
互联网扶贫科技
互联网科技资迅
北京互联网科技
金融科技与互联网金融
狮子座互联网科技
科技创新互联网企业
丰台科技园 互联网
天扬科技互联网广告
成都玖崟互联网科技有限公司乐商圈怎么样
昭通云南众福互联网科技有限公司
互联网科技教育视频
科技互联网大厂
迪庆互联网科技招生
工业互联网等科技实现智能化赋能
互联网方面的科技前沿
梅州GM互联网络科技有限公司
宇信科技在杭州互联网排第几
珠海东科互联网科技有限公司
美国互联网保险保险科技
金融科技 互联网金融
无锡溥仪互联网科技有限公司
天速互联网络科技有限公司
阿里巴巴算科技企业还是互联网
岳阳华臻互联网科技有限公司
知域互联网科技有限公司大骗子
容联科技互联网电商
美国五大互联网科技公司市值多少
华人运通互联网科技公司