在tp运用中,经常会上传相关的word文档,并提供他人下载,本人做了一个,交流交流。Thinkphp整合word文档上传与下载
点击上传按钮 控制器
public function uplo(){
$gid=I('get.id');
// var_dump($gid);die;
$this->assign('GID',$gid);
$this->display();
}
视图
<div class="title"><h2>文件上传</h2></div>
<form action="{:U('Index/upload')}" method="post" enctype='multipart/form-data'>
<div class="main">
<input type="hidden" name="gid" value="{$GID}">
<p class="short-input ue-clear">
<label>相关文件:</label>
<input type="file" class="input" name="cont" style="width:25%; float:left;" value="" placeholder="请选择文件" />
</p>
<div style='clear:both;'></div>
</div>
<div class="btn ue-clear">
<input type="submit" value="提交" class="confirm" id='btnSubmit'>
</div>
</form>
upload控制器
//文件上传接收
public function upload()
{
$gid=I('post.gid');
// var_dump($gid);die;
header("Content-Type:text/html;charset=utf-8");
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('docx,doc');// 设置附件上传类
$upload->savePath = '/'; // 设置附件上传目录
// 上传文件
$info = $upload->uploadOne($_FILES['cont']);
$filename = './Uploads'.$info['savepath'].$info['savename'];
$exts = $info['ext'];
/*echo "<pre>";
print_r($info);exit;*/
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功
$this->filedit($filename,$gid);
}
}
//修改数据库文件目录
public function filedit($filename,$gid){
$User = M("Exl");
$data['docu'] =$filename;
// var_dump($gid);die;
$res=$User->where("id='$gid'")->save($data);
if ($res) {
$this->success('上传成功', U('index'));
}elseif($res==0){
$this->redirect('Word/index','x',4, '没有做任何修改');
}else{
$this->error('出错了');
}
}
点击下载按钮
//下载
public function down(){
$mid=I('get.mid');
if($mid==''){//如果id为空
$this->error('下载失败!','',1);
}
$User = M("Exl");
$list = $User->where(array('id'=>$mid))->find();
$result=$list['docu'];
if($result=='') //如果查询不到文件信息
{
$this->error('下载失败!', '', 1);
}else{
$showname="correlation.docx";//文件原名
$filename=$result;//完整文件名(路径加名字)
//tp中的
import("Org.Net.Http");
Http::download($filename,$showname);
}
}
系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791