Thinkphp中实现文件上传及去除重复数据
2018-03-29 00:01
316 查看
1.首先第一步 我们应该在控制器中写关于文件上传的方法 我在这里是用的upload()来命名文件上传方法的,下面就是我写的代码:
代码的开头是判断是否是GET方式提交的,如果是则显示页面并不执行后面的代码直接退出。ThinkPHP文件上传操作使用 Think\Upload 类,所以我们应先实例化上传类$upload,然后设置附件上传的大小($upload->maxSize),上传的类型($upload->exts,允许上传的文件后缀(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空),附件上传的根目录($upload->rootPath)和子目录($upload->savePath)。
设置好上传的参数后,就可以调用 Think\Upload 类的upload方法进行附件上传,如果失败,返回false,并且用getError方法获取错误提示信息;如果上传成功,就获取到生成文件的子目录和文件名,方便下面解析上传的文件。
2.在我们写好了上面的上传文件的方法后,我们该考虑上传文件的编码格式(因为上传文件类型是.csv,编码格式会有些不同),所以我们应该先检测上传文件的编码格式,然后再去进行下面的操作,我先在ThinkPHP下的Common/function.php里写了检测文件编码的函数,代码如下:
然后在控制器中检测文件的编码格式,然后再去判断是不是我们所要的utf-8的编码格式,如果不是则让其转换成utf-8编码格式,代码如下:
3.在上面转换编码格式后,我们开始解析csv文件,判断这个csv文件中是否存在跟数据库一样的数据,有重复我们就去掉重复数据。首先我们以只读的方式打开这个文件(fopen($file,'r')),我们用主键来判断是否有重复的,这里主键是no,所以我们先用getFie方法获取到原表中所有的no,把这些no数据存入到一个数组中,在用一个空数组存放没有重复的数据,用while循环实现每个数据进行对比,in_array函数判断是否在数组中,存在输出存在的学号,不存在则追加到新的数组中,实现的详细代码如下:
4.文件下载
首先在ThinkPHP下的建好Downloads文件夹,存放日志文件,详细代码如下:
这就是Thinkphp中实现文件上传及去除重复数据的所有操作,这其中还有好多的小瑕疵,希望有大佬路过提点意见。
代码的开头是判断是否是GET方式提交的,如果是则显示页面并不执行后面的代码直接退出。ThinkPHP文件上传操作使用 Think\Upload 类,所以我们应先实例化上传类$upload,然后设置附件上传的大小($upload->maxSize),上传的类型($upload->exts,允许上传的文件后缀(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空),附件上传的根目录($upload->rootPath)和子目录($upload->savePath)。
设置好上传的参数后,就可以调用 Think\Upload 类的upload方法进行附件上传,如果失败,返回false,并且用getError方法获取错误提示信息;如果上传成功,就获取到生成文件的子目录和文件名,方便下面解析上传的文件。
2.在我们写好了上面的上传文件的方法后,我们该考虑上传文件的编码格式(因为上传文件类型是.csv,编码格式会有些不同),所以我们应该先检测上传文件的编码格式,然后再去进行下面的操作,我先在ThinkPHP下的Common/function.php里写了检测文件编码的函数,代码如下:
然后在控制器中检测文件的编码格式,然后再去判断是不是我们所要的utf-8的编码格式,如果不是则让其转换成utf-8编码格式,代码如下:
3.在上面转换编码格式后,我们开始解析csv文件,判断这个csv文件中是否存在跟数据库一样的数据,有重复我们就去掉重复数据。首先我们以只读的方式打开这个文件(fopen($file,'r')),我们用主键来判断是否有重复的,这里主键是no,所以我们先用getFie方法获取到原表中所有的no,把这些no数据存入到一个数组中,在用一个空数组存放没有重复的数据,用while循环实现每个数据进行对比,in_array函数判断是否在数组中,存在输出存在的学号,不存在则追加到新的数组中,实现的详细代码如下:
4.文件下载
首先在ThinkPHP下的建好Downloads文件夹,存放日志文件,详细代码如下:
这就是Thinkphp中实现文件上传及去除重复数据的所有操作,这其中还有好多的小瑕疵,希望有大佬路过提点意见。
相关文章推荐
- Thinkphp实现文件上传以及去除重复数据
- Thinkphp中实现文件上传下载以及去除重复
- 用Thinkphp上传导入csv文件并去除重复数据
- thinkphp文件上传并去除重复值,实现上传文件到日志文件中
- 上传文件时如何去除重复的数据
- 怎样上传文件,去除重复数据,下载文件
- ThinkPHP中文件上传和去除重复
- ThinkPHP上传文件时如何防止导入的数据重复
- thinkphp文件上传 文件下载 id去除重复
- 用thinkphp实现上传文件到数据库的功能并且文件内容不可以重复
- PHP实现文件上传功能及ThinkPHP上传扩展
- Asp.Net模拟表单提交数据和上传文件的实现代码
- php采用curl实现POST数据与文件上传与接收
- thinkphp excel txt文件上传实现
- ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
- ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
- C#实现使用form上传Excel文件,导入Excel数据到SQL SERVER数据库
- Asp.Net模拟表单提交数据和上传文件的实现代码
- struts2+ckeditor+ckfinder实现文件的上传、从数据库获取数据、修改并提交到数据库中保存
- 数据去重复(txt文件去重复,js实现)