判断上传数据库内容是否重复

用thinkphp实现上传文件到数据库的功能并且文件内容不可以重复 用thinkphp实现上传文件到数据库的功能并且文件内容不可以重复  1.前台表单页面表单里要写一个属性是 enctype="multipart/form-data 可以上传完整的文件enctype就是encodetype翻译成中文就是编码类型的意思!multipart/form-data是指表单数据有多部分构成:既有文本数据,又有文件等二进制数据的意思。2.定义upload方法判断是否上传成功 ... 阅读详情

思路:上传文件写方法时先判断它是否是post方法传送,然后上传文件。


代码如下:

public function upload(){
		if(IS_GET){
			$this->display();
			// exit;
		}else{
		$upload = new \Think\Upload();// 实例化上传类
		$upload->maxSize = 0 ;// 设置附件上传大小,文件上传的最大文件大小(以字节为单位),0为不限大小
		$upload->exts = array('csv');// 设置附件上传类型,上传的文件的类型
		$upload->rootPath = './Public/Upload/'; // 设置附件上传根目录
		$upload->savePath = ''; // 设置附件上传(子)目录
		// 上传文件
		$info = $upload->upload();
		// dump($info);
		// $model=M('student');
		if(!$info) {// 上传错误提示错误信息
		$this->error($upload->getError());
		}else{// 上传成功 获取上传文件信息
		// 	foreach($info as $file){
		// 	echo $file['savepath'].$file['savename'];
		// }
			$this->import($upload->rootPath.$info['file']['savepath'].$info['file']['savename']);
         // $this->success('上传成功');
	  }
     }
	}



   2.如何判断上传文件的信息是否重复,首先要从文件中获取数据,如果存在则重复,不执行添加代码,如果不存在,则添加到数据库中。下面是一段判断学号上传是否重复的代码,上传成功执行这段代码即可


代码如下:

// 转换格式
    public function import($file){
    	// echo $file;
    	// exit;
    	// $file="./Public/Upload/2018-03-23/5ab4431d120ae.csv";
    	//检测编码格式
    	$encoding=detect_encoding($file);


    	//如果不是utf-8格式,则转换为utf8
    	if($encoding!='UTF-8'){
    		$contens=file_get_contents($file);
    		$contens=mb_convert_encoding($contens,'utf-8',$encoding);
    		file_put_contents($file, $contens);
    	}
    	$fp=fopen($file, 'r');//打开文件,
    	if($fp){
    		$fields=array('no','name','sex');
    		$model=M('newstudent');


    		$arrNo=$model->getField('no',true);//获取表单里的学号,true代表获取全部的学号,如果不写就获取一个
    		// dump($arrNo);
    		// exit;
    		$arr=array();//创建一个数组
    		
    		while(($row=fgetcsv($fp,1000,","))!==false){
    			$row=array_combine($fields, $row);
    			  
    			$ret=in_array($row['no'], $arrNo);//判断是否存在$row['no']中,存在为真
    			// dump($ret);
    			// exit;
               if($ret==false){//如果没有就进
               	$arrNo[]=$row['no'];
                $arr[]=$row;
                $file= './Public/Download/demo.log';//日志文件路径
                $e.= "导入成功";
                file_put_contents($file, $e);




               }else{//有就输出
               	$file= './Public/Download/demo.log';
                $e.= $row['no']."学号已存在".PHP_EOL;
                // echo "";
                file_put_contents($file, $e);


               	// echo $row['no'].'已存在'.'<br>';
               	continue;
               	
               }
           }
    			if(count($arr)==1000){
    				$model->addAll($arr);
    				unset($arr);
    			}
    			// dump($row);
    		}
    		   
    		if(count($arr)>0){
    				$model->addAll($arr);
    			}
    		// $this->show('添加成功','utf8');
    		$this->download();
    	
    }



Springboot实现文件上传,并防止同文件重复上传 主要流程 在配置文件中添加文件操作的配置,示例: storage: image: #保存位置 save-path: D:\classdesign-photo\images\ #允许上传的类型 allow-type: - jpg - png 编写文件操作配置类,示例: /** * 图片操作配置类 */ @Configuration //用于自动获取配置文件中storage.image中的字段 @ConfigurationPropertie 阅读详情

相关推荐

C#将文件(图片)路径保存到sqlserve数据库中

使用C#语言,将文件(图片)路径保存到sqlserve数据库中,并且从数据库中读取出路径,找到相应的文件。

JQuery validate 验证数据是否与数据库中数据重复

几天在添加一个验证用户名是否存在的功能时添加了一个自定义方法//向jQuery Validator中添加自己的规则 $.validator.addMethod("checkRepeat",function(value,element,params){ $ .ajax({ type : "post", dataType : "json", data :

TOP_Y的专栏 4367

如何用Deep OC-SORT提升多目标跟踪精度?实战配置与性能优化指南

本文是一份针对开发者的Deep OC-SORT多目标跟踪实战指南。详细解析了如何通过部署其核心的“动态外观记忆”与“相机防抖”模块来有效应对遮挡与抖动,从而显著提升跟踪精度与连续性。内容涵盖从环境搭建、参数调优到性能压榨的全流程,并提供针对不同场景的配置建议与工程落地技巧。

f9g0h的博客 670

ThinkPHP上传文件及如何判断上传数据是否重复

文件上传   1.在ThinkPHP中使用上传功能无需进行特别处理,但要注意,要使用上传功能 表单中需要设置 enctype="multipart/form-data"。   2.tp自带了上传文件的类,位置:Think/Upload.class.php。所以tp框架用起来是十分方便的。我们来看下upload方法的实现代码:    //上传文件  public function upload(){...

cxc_happy111的博客 2878

《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》

《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》

东城绝神 1369

Ansys Zemax与Speos协同设计:从HUD光学优化到驾驶环境可视化全流程解析

本文深入解析了如何利用Ansys Zemax与Speos进行协同设计,实现从HUD光学系统核心优化到驾驶环境可视化验证的全流程。文章强调了HUD设计是光学性能与视觉感知的深度耦合,通过Zemax进行精密光学设计,再利用Speos进行系统级仿真与感知模拟,最终完成从虚拟到现实的闭环验证,有效提升HUD产品的开发效率与可靠性。

weixin_29199873的博客 251

java文件上传判重姿势浅谈

一、场景:文件上传,用户极有可能上传重复文件,内容完全一致。如果对上传的文件未做任何处理,对于文件存储系统来说将是灾难,大量重复的数据,如果允许上传大文件,那么对于存储资源将是巨大的浪费。对于重复的文件,只需要复制相应的访问地址即可,源文件可无需上传,既减轻了网络带宽压力,也减少了存储容量的压力。 二、应对: 1、通过文件名判重。非特殊情况下,不会采用这种方案,理由跟人同名一样,文件名很容易重复,随着用户上升,概率会变大。采用此方案极易导致不能达到判重的目的。 2、读取文件头加部分内容。这种方案可以解

夜郎King的博客 4万+

深入解析Panfrost驱动:Mali-GPU开源驱动的架构与实现

本文深入解析了Panfrost驱动作为Mali-GPU开源驱动的架构与实现。从诞生背景到硬件架构演进,详细介绍了Panfrost如何突破ARM闭源策略,实现全栈支持。文章还探讨了驱动设计中的关键技术挑战与性能优化策略,为开发者提供了实用的编译部署指南和性能调优方法。

weixin_30790841的博客 553

前端上传文件防重,你还在比较文件名是否相同吗?

【代码】前端上传文件防重,你还在比较文件名是否相同吗?

WANG_AFei的博客 528

爬虫Incapsula reese84加密案例:Etihad航空

声明:该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。

老衲爱洗头的博客 2430

【k8s故障处理篇】calico-kube-controllers状态为“ImagePullBackOff”解决办法

【k8s故障处理篇】calico-kube-controllers状态为“ImagePullBackOff”解决办法

jks212454的博客 2308

php判断是否从网站上传数据,ThinkPHP上传文件及如何判断上传数据是否重复

文件上传1.在ThinkPHP中使用上传功能无需进行特别处理,但要注意,要使用上传功能 表单中需要设置 enctype="multipart/form-data"。2.tp自带了上传文件的类,位置:Think/Upload.class.php。所以tp框架用起来是十分方便的。我们来看下upload方法的实现代码://上传文件public function upload(){if(IS_GET){$...

weixin_33621280的博客 268

【RT-DETR有效改进】手把手带你调参RT-DETR,1:1复现官方版本实验环境

本文是带大家进行调参,利用ultralytics仓库1:1复现RT-DETR官方实验环境,从而在后期发表论文 的时候省去一些不必要的麻烦,例如被审稿人提出质疑,本文的调参内容均有依据,根据RT-DETR官方Github上发布的版本进行设置本文的调参以ResNet18为例,其余的何其的调参基本一致。RT-DETR剑指论文专栏,持续复现各种顶会内容——论文收割机RT-DETR。

Snu77的博客 9940

Java判断上传文件是否重复

近期的项目中接到一个需求,文件上传时,如果是重复文件,直接将文件路径复制一份,不去真的上传。 背景: 文件服务器选择的是Fastdfs,数据库中有一个对应的File表保存文件存储路径以及MD5值。 思路: 要判断文件是否重复,就需要对每次上传的文件计算MD5值,上传前通过查询文件库中是否存在该MD5值,来判断是选择上传还是直接复制已存在的文件路径。 方法一: 使用org.apache.comm...

zqhao的博客 9809

AMS TMF8820/21/28 SPAD 掩码和模式选择

为了实现最快的测距周期,将报告周期设置在测距周期以下的毫秒,以确保不会有等待时间。除了8X8固定了pixel的位置意外,其他模式客户可以设计自己的spad掩码,并将spad单独分配给通道。对于这些spad掩码,有一些约束。左下角提示红色代表光学中心,绿色方框表示单个spad,每个MP里可能有2X3个spad,也有2X5个spad,也有3X6+3个spad,这部分适配光学,最大的程度的利用spad区域。以下是几种预定义的spad掩码,非常灵活的配置,来适配各种3X3,4X4,8X8的模式选择。

dream it possible 701

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java批量上传判断是否完毕_java文件上传判断是否重复,不需要文件请求上去就能判断...

首页 / 编程技术 / Java / java文件上传判断是否重复,不需要文件请求上去就能判断java文件上传判断是否重复,不需要文件请求上去就能判断2019-11-2211870进来看这篇文章的朋友,应该都有做过文件上传的业务,也弄了文件重复的问题。通常的做法就是:使用 MD5 消息摘要算出 文件摘要,作为文件名,判断重复的时候,去数据库比较一下。但有没有发现一个问题就是,文件拿到服务器...

weixin_36212334的博客 562

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文件上传重复上传_java文件上传判断是否重复,不需要文件请求上去就能判断...

进来看这篇文章的朋友,应该都有做过文件上传的业务,也弄了文件重复的问题。通常的做法就是:使用 MD5 消息摘要算出 文件摘要,作为文件名,判断重复的时候,去数据库比较一下。但有没有发现一个问题就是,文件拿到服务器才能判断,判断重复了不要了呢,是不是白拿了,是不是有点浪费宽带和服务器内存啊,这是能优化的地方啊。这个是最近在做文件处理的时候想到了这样的问题的。还有一个问题,post表单文件,没读它是否...

weixin_39970166的博客 1419

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C#去掉重复的内容

开发工具与关键技术:VS C# 作者:梁茵茵 撰写时间:2019年7月05日 把内容上传到页面再把页面的内容保存到数据库,但保存的内容又不可以跟数据库里已经存在的数据重复。所以先把上传到页面的数据进行一次判断,判断页面上的数据是否重复。如果重复就自动删除重复的内容,如果不重复就再拿页面的数据跟数据库的数据进行比较,如果重复也自动删除,如果不重复才可以保存到数据库。 首先,拿上传到页面的数据进行...

weixin_44543312的博客 2195

ssm+layui框架判断文本框内容和数据库的内容是否重复相同

ssm+layui框架判断文本框内容和数据库的内容是否重复相同 思路:把页面的文本框值传到后台判断,在map.xml中增加一个方法,通过某某值查询一整条数据,[注意:mapper加上声明]例如下图: 然后在service层进行判断: if (userMapper.getUserByName(user.getName()) != null) { return "一个字符串"; } 传到前端页面进...

weixin_42376161的博客 1130

MS SQL Server 实战 排查多列之间的值是否重复

在日常的应用中,排查列重复记录是经常遇到的一个问题,但某些需求下,需要我们排查一组列之间是否有重复值的情况。比如我们有一组题库数据,主要包括题目和选项字段(如单选选择项或多选选择项),一个合理的数据存储应该保证这些选项列之间不应该出现重复项目数据,比如选项A不应该和选项B的值重复,选项B不应该和选项C的值重复,以此穷举类推,以保证这些选项之间不会出现重复的值。本文将介绍如何利用group by 、having 语句来实现这一需求。

初九之潜龙勿用 3831

判断文件重复上传

判断文件重复上传 多重的散列算法计算 对比 查询已有的文件散列值 md5 sha-1 等 如果是某一种散列值计算太单薄

凌冷的博客 992

aspnet: 判断文件是否存在_java文件上传判断是否重复,不需要文件请求上去就能判断...

进来看这篇文章的朋友,应该都有做过文件上传的业务,也弄了文件重复的问题。通常的做法就是:使用 MD5 消息摘要算出 文件摘要,作为文件名,判断重复的时候,去数据库比较一下。但有没有发现一个问题就是,文件拿到服务器才能判断,判断重复了不要了呢,是不是白拿了,是不是有点浪费宽带和服务器内存啊,这是能优化的地方啊。这个是最近在做文件处理的时候想到了这样的问题的。还有一个问题,post表单文件,没读它是否...

weixin_39652869的博客 117

防止文件上传重复算法

需求背景 最近有个需求是这样的~~~公司某个平台有上传素材功能,,很多时候会上传重复素材,这样一来就带来不少问题,比较严重的就是浪费存储空间以及使素材库过于臃肿不利于查找,需求很自然的提了出来,在上传素材时判断该素材是否已经在数据库中,即使名字不一样。 恰好看到七牛云公布的哈希算法,感觉尚可,那就拿来一用,各部分功能已添加注释 代码 // 计算文件的eTag,参数为buffer或者readable...

m0_37922914的博客 1596

MinIO 防重复上传

存储空间节省: 通过MD5校验避免重复文件存储性能优化: 支持大文件流式处理,避免内存溢出数据一致: 引用计数机制,确保文件生命周期管理易于扩展: 支持分布式部署和高并发场景。

m0_74148354的博客 957
上一篇: CURD操作
下一篇: 微信开发
SPP_TY
博客等级 码龄9年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值