php实现批量上传数据到数据库(.csv名目)的案例
发布时间:2021-01-25 23:08:20 所属栏目:编程 来源:网络整理
导读:交情提醒:上传数据的文档必要转化为.csv名目标文档 前端代码: 后端代码:import.php文件 (这里只粘贴首要代码,详细实现要领需本身完成) $fext = substr($_FILES['upfilename']['name'],strrpos($_FILES['upfilename']['name'],'.') + 1); if ($fext !=
交情提醒:上传数据的文档必要转化为.csv名目标文档 前端代码: |
后端代码:import.php文件
(这里只粘贴首要代码,详细实现要领需本身完成) $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('批量导入完成!');
}
} </pre>
.csv文档的名目为:
以上这篇php实现批量上传数据到数据库(.csv名目)的案例就是小编分享给各人的所有内容了,但愿能给各人一个参考,也但愿各人多多支持编程之家。
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
站长推荐
热点阅读