Thinkphp中实现文件上传及去除重复数据

这篇博客介绍了如何在ThinkPHP框架下实现文件上传功能,包括上传限制设置和错误处理。接着,文章讲解了如何检测并转换上传CSV文件的编码格式,确保其为UTF-8。在解析CSV文件时,通过比较数据库中的主键判断并去除重复数据。最后,展示了文件下载的实现步骤,文件被保存在Downloads目录下。博主希望得到读者的反馈和建议。
摘要由CSDN通过智能技术生成

1.首先第一步 我们应该在控制器中写关于文件上传的方法 我在这里是用的upload()来命名文件上传方法的,下面就是我写的代码:


代码的开头是判断是否是GET方式提交的,如果是则显示页面并不执行后面的代码直接退出。ThinkPHP文件上传操作使用 Think\Upload 类,所以我们应先实例化上传类$upload,然后设置附件上传的大小($upload->maxSize),上传的类型($upload->exts,允许上传的文件后缀(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空),附件上传的根目录($upload->rootPath

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP6 ,要实现下载 OSS(阿里云对象存储) 的文件,需要使用 OSS SDK。下面是具体的实现步骤: 1. 安装 OSS SDK 使用 Composer 安装 OSS SDK: ``` composer require aliyuncs/oss-sdk-php ``` 2. 在控制器引入 OSS SDK 在控制器引入 OSS SDK: ```php use OSS\OssClient; use OSS\Core\OssException; ``` 3. 定义下载方法 在控制器定义下载方法: ```php public function downloadOssFile() { $accessKeyId = 'yourAccessKeyId'; // 填写阿里云 OSS 的 AccessKeyId $accessKeySecret = 'yourAccessKeySecret'; // 填写阿里云 OSS 的 AccessKeySecret $endpoint = 'yourEndpoint'; // 填写阿里云 OSS 的 endpoint $bucket = 'yourBucket'; // 填写阿里云 OSS 的 bucket 名称 $object = 'yourObject'; // 填写要下载的文件在 OSS 的 object 名称 try { $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); // 判断要下载的文件是否存在 if (!$ossClient->doesObjectExist($bucket, $object)) { throw new OssException('要下载的文件不存在!'); } // 获取要下载的文件的元信息 $objectMeta = $ossClient->getObjectMeta($bucket, $object); // 设置要下载的文件的名称 $filename = '要下载的文件的名称'; // 设置要下载的文件的内容类型 $contentType = $objectMeta['content_type']; // 设置要下载的文件的长度 $contentLength = $objectMeta['content-length']; // 设置要下载的文件的内容 $content = $ossClient->getObject($bucket, $object); // 下载文件 return Response::create($content, '200', [ 'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0', 'Content-Disposition' => 'attachment; filename=' . $filename, 'Content-Length' => $contentLength, 'Content-Type' => $contentType, 'Expires' => '0', 'Pragma' => 'public', ]); } catch (OssException $e) { return $e->getMessage(); } } ``` 其,`$accessKeyId`、`$accessKeySecret`、`$endpoint`、`$bucket`、`$object` 都需要替换成自己的阿里云 OSS 的信息。 4. 定义路由 在路由定义路由规则: ```php Route::get('download_oss_file', '控制器名/downloadOssFile'); ``` 其,`download_oss_file` 为路由地址,`控制器名` 为具体的控制器名称。 5. 访问下载链接 在浏览器访问 `http://localhost/download_oss_file` 即可下载 OSS 的文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值