PHP项目中实现导入csv文件的代码是什么?

Admin 2022-10-13 群英技术资讯 285 次浏览

这篇文章主要介绍“PHP项目中实现导入csv文件的代码是什么?”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP项目中实现导入csv文件的代码是什么?”文章能帮助大家解决问题。

工作中常用到一些导入数据的功能,今天就给大家介绍一种方式,导入csv文件,此方式导入还是比较快的,但是也会存在一些问题。比如csv格式的表格制作麻烦,我的方法需要调整表格的编码为utf-8格式,并且导入过程中需要增加一列标示 。并且表名称不能为中文。都是影响成功与否的重要因素。对于导入数据我只做了简单的过滤处理。下面就给大家介绍一下吧。

代码如下:

//导入文件存放的具体位置。含文件路径需要创建好文件

$fname = “./saveFile/”.$_FILES[“myfile”][“name”];

//copy(要复制的文件,复制文件的目的地)

$do = copy($_FILES[“myfile”][“tmp_name”],$fname);

if($do){

//打开文件或者 URL r 以只读方式打开文件。

$handle=fopen(“$fname”,”r”);

//循环输出csv中读取出的数据

while ($data=_fgetcsv($handle,10000)){

//下面是查询商品是否存在存在将不插入进表

$ sql = ‘select id FROM ‘.$ecs->table(‘ssss’).” WHERE id =’$data[1]'”;

$res = $db->getOne($sql);

//如果不存在的都将插入到数据库中

if(!$res){

//过滤特殊字符

if($data[3]){

//单双引号、反斜线及NULL加上反斜线转义

$data[3]=addslashes($data[3]);

}

$sql = “INSERT INTO ” . $ecs->table(‘ssss’) .” (bl_num,id,c_id,g_name) VALUES (‘$data[0]’, ‘$data[1]’, ‘$data[2]’, ‘$data[3]’)” ;

$db->query($sql);

}

}

fclose($handle);

}

//上传csv函数做一些表格的处理程序不做介绍。我也没细研究(呵呵)

function _fgetcsv(&$handle, $ length = null, $d = ‘,’, $e = ‘”‘){

$d = preg_quote($d);

$e = preg_quote($e);

$_line = “”;

$ eof = false ;

while ($eof != true) {

$_line .= (empty ($length) ? fgets ($handle) : fgets($handle, $length));

$itemcnt = preg_match_all(‘/’ . $e . ‘/’, $_line, $dummy);

if ($itemcnt % 2 == 0)

$eof = true;

}

$_csv_line = preg_replace(‘/(?: |[ ])?$/’, $d, trim ($_line));

$_csv_pattern = ‘/(‘ . $e . ‘[^’ . $e . ‘]*(?:’ . $e . $e . ‘[^’ . $e . ‘]*)*’ . $e . ‘|[^’ . $d . ‘]*)’ . $d . ‘/’;

preg_match_all($_csv_pattern, $_csv_line, $_csv_matches);

$_csv_data = $_csv_matches[1];

for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) {

$_csv_data[$_csv_i] = preg_replace(‘/^’ . $e . ‘(.*)’ . $e . ‘$/s’, ‘$1’ , $_csv_data[$_csv_i]);

$_csv_data[$_csv_i] = str_replace($e . $e, $e, $_csv_data[$_csv_i]);

}

return empty ($_line) ? false : $_csv_data;

}


现在大家对于PHP项目中实现导入csv文件的代码是什么?的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。最后,想要了解更多,欢迎关注群英网络,群英网络将为大家推送更多相关的文章。 群英智防CDN,智能加速解决方案
标签: PHP导入csv文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服