php实现批量上传数据到数据库(.csv格式)的案例
发布时间 - 2026-01-11 01:56:14 点击率:次友情提示:上传数据的文档需要转化为.csv格式的文档

前端代码:
<form name="importForm" action="import.php" method="POST" enctype="multipart/form-data">
<input type="hidden" value="import_goods" name="file">
<table cellpadding="2" cellspacing="1" class="tb">
<tbody>
<tr>
<td width="200">选择批量上传文档:</td>
<td><input type="file" name="upfilename" id="upfilename" value=""></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="提交" class="btn">
</td>
</tr>
</tbody>
</table>
</form>
后端代码:import.php文件(这里只粘贴主要代码,具体实现方法需自己完成)
if(isset($_POST['submit'])){
stripos(PHP_OS, "WIN") !== false ? setlocale(LC_ALL, '') : setlocale(LC_ALL,'zh_CN.GBK');
$fext = substr($_FILES['upfilename']['name'], strrpos($_FILES['upfilename']['name'], '.') + 1);
if ($fext != 'csv') {
die('请上传csv格式的文件',HTTP_REFERER);
}
$handle = @fopen($_FILES['upfilename']['tmp_name'], "rb");
$i = 0;
$import_type = '';
if ($handle)
{
while($line_data = fgetcsv($handle, 4096, ','))
{
if ($i == 0) {
$import_type = trim($line_data[0]);
$i = 1;
} elseif (intval($line_data[0])) {
$line_list[] = $line_data;
}
}
}
//循环转换数据格式
foreach ($line_list as $i=> $v)
{
foreach ($v as $j=> $value)
{
$line_list[$i][$j] = iconv('GBK', 'UTF-8//IGNORE',$line_list[$i][$j]);
}
}//编码转换
fclose($handle);
if(!empty($line_list))
{
// 登记号
$sn = array();
$top_catid = 0;
$name = '';
$func_name = '';
switch ($import_type) {
case 'patent';
$top_catid = 5;
$name = '专利申请号';
$func_name = 'deal_import_patent';
break;
case 'trademark';
$top_catid = 4;
$name = '商标注册号';
$func_name = 'deal_import_trademark';
break;
case 'copyright';
$top_catid = 2185;
$name = '登记号';
$func_name = 'deal_import_copyright';
break;
default:
die('上传文档未明确指定知产类型!');
break;
}
if ($import_type == 'patent') {
foreach($line_list as $lkey => $lval) {
$lval[2] = trim($lval[2]);
if ($lval[2] == '专利技术') {
// 技术专利
if(!empty($lval[1])) {
if(in_array($lval[1],$sn))
{
die('列表中序号为'.$lval[0].'的知产的'.$name.$lval[1].'与前面的出现重复!');//判断是否有重复的数据(根据自己所需判断)
}
$sn[] = trim($lval[1]);
} else {
die('列表中序号为'.$lval[0].'的知产的'.$name.'为空!');
}
} else {
// 非技术专利
$line_list[$lkey][1] = '';
}
}
} elseif ($import_type == 'trademark') {
foreach($line_list as $lkey => $lval) {
if(!empty($lval[1])) {
if(in_array($lval[1],$sn))
{
die('列表中序号为'.$lval[0].'的知产的'.$name.'与前面的出现重复!');
}
$sn[] = $lval[1];
} else {
die('列表中序号为'.$lval[0].'的知产的'.$name.'为空!');
}
}
}
if (!empty($sn)) {
$sql = 'SELECT serial_number FROM ' .$table_name. ' WHERE top_catid = '.$top_catid.' AND serial_number IN (\'' .implode("','", $sn). '\')';
$result = $goods_db->query($sql);
$r = $goods_db->fetch_array();
$exist = array();
foreach ($r as $k=>$v){
$exist[] = $v['serial_number'];
}
if (!empty($exist)) die($name.'为:'.implode(',',$exist).'的知产已存在');//数据库中是否有相同的数据(根据自己所需判断)
}
// 调用处理函数
self::$func_name($line_list);//此时$line_list即为你上传文档的数据,数组格式,根据自己所需将数据导入数据库
die('批量导入完成!');
}
}
.csv文档的格式为:
以上这篇php实现批量上传数据到数据库(.csv格式)的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# php
# 上传csv
# 完美解决php 导出excle的.csv格式的数据时乱码问题
# php将数组转换成csv格式文件输出的方法
# php导出csv格式数据并将数字转换成文本的思路以及代码分享
# 详解php几行代码实现CSV格式文件输出
# 上传
# 文档
# 所需
# 列表中
# 给大家
# 为空
# 登记号
# 专利申请
# 希望能
# 这篇
# 转化为
# 友情提示
# 即为
# 数据库中
# 小编
# 大家多多
# 格式为
# 判断是否
# 后端
# 数据格式
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在 Pandas 中基于一列条件计算另一列的分组均值
5种Android数据存储方式汇总
如何基于PHP生成高效IDC网络公司建站源码?
如何生成腾讯云建站专用兑换码?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
如何快速搭建高效简练网站?
如何在阿里云香港服务器快速搭建网站?
实例解析Array和String方法
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
在Oracle关闭情况下如何修改spfile的参数
韩国服务器如何优化跨境访问实现高效连接?
Python文本处理实践_日志清洗解析【指导】
重庆市网站制作公司,重庆招聘网站哪个好?
微信小程序 require机制详解及实例代码
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
详解Oracle修改字段类型方法总结
如何用AWS免费套餐快速搭建高效网站?
Laravel如何创建自定义中间件?(Middleware代码示例)
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
如何在景安云服务器上绑定域名并配置虚拟主机?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel如何使用Blade组件和插槽?(Component代码示例)
北京专业网站制作设计师招聘,北京白云观官方网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何在IIS7中新建站点?详细步骤解析
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何在云主机上快速搭建网站?
用yum安装MySQLdb模块的步骤方法
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
如何解决hover在ie6中的兼容性问题
Laravel怎么使用Intervention Image库处理图片上传和缩放
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
高防服务器:AI智能防御DDoS攻击与数据安全保障
网站图片在线制作软件,怎么在图片上做链接?
javascript如何操作浏览器历史记录_怎样实现无刷新导航
Laravel怎么实现验证码(Captcha)功能
JS经典正则表达式笔试题汇总
如何在新浪SAE免费搭建个人博客?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?

