怎样上传文件,去除重复数据,下载文件
2018-03-29 11:20
309 查看
创建一个uoload方法
上传文件:先实例化上传类,定义上传文件的大小,类型,上传根目录,上传子目录,然后再判断是否上传成功 public function upload(){
if(IS_GET){
$this->display();
exit;
}
$upload = new \Think\Upload();//实例化上传类
$upload->maxSize = 0;//设置附件上传大小
$upload->exts = array('csv');//设置附件上传类型
// dump($upload);
// exit();
$upload->rootPath = './Public/Upload/';//设置附件上传根目录
$upload->savePath = '';//设置附件上传(子)目录
//上传文件
$info = $upload->upload();
if(!$info){//上传错误提示错误信息
$this->error($upload->getError());
}else{//上传成功
$this->show('上传成功!');
}
}
去重数据:从数据库里获取学号,存入数组,获取上传文件的学号,用is_array()函数来判断上传的学号是否存在if($fp){
$fields=array('no','name','sex');
$model=D('Student');
<span style="white-space:pre;"> </span> $arrNO=$model->getField('no',true);
$arr = array();
while(($row = fgetcsv($fp,1000,","))!== false){
$row=array_combine($fields, $row);
// dump($data);
// exit;
$name = $row['name'];
$row['py'] = SpGetPinyin($name);
if(in_array($row['no'],$arrNO)){
$file = './Public/uploaddir/demo.txt';
$current .= $row['no']."已存在\r\n";
}else{
$arrNO[]=$row['no'];
$arr[]=$row;
$file = './Public/uploaddir/demo.txt';
$current .= $row['no']."导入成功\r\n";
}
if(count($arr)==1000){
$model->addAll($arr);
unset($arr);
}
}
if(count($arr)>0){
$model->addAll($arr);
}
$this->success("导入成功",'index');
} 下载文件:file_put_contents($file, $current); //写入文件
$file_name = "demo.txt";
$file_dir = "./Public/uploaddir/";
if(!file_exists($file_dir.$file_name)){
echo "文件找不到";
exit;
}else{
$file = fopen($file_dir.$file_name,"r");
Header("content-type:application/octet-stream");
Header("Accept-Ranges:bytes");
Header("Accept-Length:".filesize($file_dir.$file_name));
Header("Content-Disposition:attachment;filename=".$file_name);
echo fread($file,filesize($file_dir.$file_name));
fclose($file);
exit;
}
上传文件:先实例化上传类,定义上传文件的大小,类型,上传根目录,上传子目录,然后再判断是否上传成功 public function upload(){
if(IS_GET){
$this->display();
exit;
}
$upload = new \Think\Upload();//实例化上传类
$upload->maxSize = 0;//设置附件上传大小
$upload->exts = array('csv');//设置附件上传类型
// dump($upload);
// exit();
$upload->rootPath = './Public/Upload/';//设置附件上传根目录
$upload->savePath = '';//设置附件上传(子)目录
//上传文件
$info = $upload->upload();
if(!$info){//上传错误提示错误信息
$this->error($upload->getError());
}else{//上传成功
$this->show('上传成功!');
}
}
去重数据:从数据库里获取学号,存入数组,获取上传文件的学号,用is_array()函数来判断上传的学号是否存在if($fp){
$fields=array('no','name','sex');
$model=D('Student');
<span style="white-space:pre;"> </span> $arrNO=$model->getField('no',true);
$arr = array();
while(($row = fgetcsv($fp,1000,","))!== false){
$row=array_combine($fields, $row);
// dump($data);
// exit;
$name = $row['name'];
$row['py'] = SpGetPinyin($name);
if(in_array($row['no'],$arrNO)){
$file = './Public/uploaddir/demo.txt';
$current .= $row['no']."已存在\r\n";
}else{
$arrNO[]=$row['no'];
$arr[]=$row;
$file = './Public/uploaddir/demo.txt';
$current .= $row['no']."导入成功\r\n";
}
if(count($arr)==1000){
$model->addAll($arr);
unset($arr);
}
}
if(count($arr)>0){
$model->addAll($arr);
}
$this->success("导入成功",'index');
} 下载文件:file_put_contents($file, $current); //写入文件
$file_name = "demo.txt";
$file_dir = "./Public/uploaddir/";
if(!file_exists($file_dir.$file_name)){
echo "文件找不到";
exit;
}else{
$file = fopen($file_dir.$file_name,"r");
Header("content-type:application/octet-stream");
Header("Accept-Ranges:bytes");
Header("Accept-Length:".filesize($file_dir.$file_name));
Header("Content-Disposition:attachment;filename=".$file_name);
echo fread($file,filesize($file_dir.$file_name));
fclose($file);
exit;
}
相关文章推荐
- tp文件导入(去除重复数据)写日志,下载
- Thinkphp中实现文件上传下载以及去除重复
- Thinkphp实现文件上传以及去除重复数据
- TP 文件上传 防止数据重复 ,数据下载
- 关于tp3.2.3文件导入数据库(去除重复数据)、写日志和下载问题
- thinkphp文件上传 文件下载 id去除重复
- Thinkphp中实现文件上传及去除重复数据
- 用Thinkphp上传导入csv文件并去除重复数据
- 上传文件时如何去除重复的数据
- input file 文件上传下载 查询数据库数据并导出Excel
- SpringMVC——返回JSON数据&&文件上传下载
- 怎样使用服务器上传下载数据
- 上传文件时,如何去除重复的内容
- RxJava + Retrofit+okhttp 封装,包含对相同格式请求数据、相同格式返回数据处理,显示 Material Design 加载 dialog,文件上传下载进度展示、全局异常捕捉。
- SpringMVC——返回JSON数据&&文件上传下载
- 如何解决“文件上传返回JSON数据,在IE下提示下载文件”的问题?
- 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
- perl脚本去除文件中重复数据
- struts2.x表单重复提交,文件上传下载,转换器
- Swift - 使用URLSession加载数据、下载、上传文件