php导入csv文件
<?php
/**
* Created by PhpStorm.
* User: hanks
* Date: 2017/4/30
* Time: 13:24
*/
include 'header.php';
include 'Mysql.php';
try{
$arr=[];
$mysql=new Mysql([]);
$filename = $_FILES['file']['tmp_name'];
if(empty($filename)) {
throw new Exception('请选择要导入的CSV文件!',0);
}
$handle = fopen($filename, 'r');
$result = input_csv($handle); //解析csv
$len_result = count($result);
if($len_result==0){
throw new Exception('没有任何数据!',0);
}
$data_values='';
$date_time=time();
for ($i = 1; $i < $len_result; $i++) { //循环获取各字段值
$en_name = addslashes($result[$i][0]); //addslashes()方法 转义mysql的特殊字符
$img_name = addslashes($result[$i][1]);
$game_code = addslashes($result[$i][2]);
$game_type = addslashes($result[$i][3]);
$game_zh_name = addslashes(iconv('gbk', 'utf-8', $result[$i][4])); //中文转码
$platform_type = addslashes($result[$i][5]);
$data_values .= "('$en_name','$img_name','$game_code','$game_type','$game_zh_name','$platform_type','$date_time'),";
}
$data_values = substr($data_values,0,-1); //去掉最后一个逗号
fclose($handle); //关闭指针
$sql = "INSERT INTO `ks_game_list`(`en_game_name`,`game_src`,`code`,`game_type`,`game_name`,`platform_type`,`add_time`)values $data_values";
$rs=$mysql->doSql($sql);
if($rs){
$arr=['status'=>1,'notice_content'=>'导入成功!'];
exit(json_encode($arr,true));
}else{
throw new Exception('导入失败!',0);
}
}catch(Exception $e){
$arr=['status'=>$e->getCode(),'notice_content'=>$e->getMessage()];
exit(json_encode($arr,true));
}
function input_csv($handle) {
$out = array ();
$n = 0;
while ($data = fgetcsv($handle, 10000)) {
$num = count($data);
for ($i = 0; $i < $num; $i++) {
$out[$n][$i] = $data[$i];
}
$n++;
}
return $out;
}
php导入csv文件的更多相关文章
- ACCESS导入CSV文件出现乱码解决办法
在ACCESS或Excel中导入CSV文件时常常出现乱码,这是因为简体中文版的windows操作系统及其应用软件默认都是ANSI/GBK编码,而导入的文件使用的编码与操作系统默认的编码不相符.出现这种 ...
- C# 将List中的数据导入csv文件中
//http://www.cnblogs.com/mingmingruyuedlut/archive/2013/01/20/2849906.html C# 将List中的数据导入csv文件中 将数 ...
- oracle导入csv文件
oracle导入csv文件: 1.建好对应的表和字段: 2.新建test.ctl文件,用记事本编辑写入: load data infile 'e:\TB_KC_SERV.csv' --修改对应的文件路 ...
- python导入csv文件时,出现SyntaxError
背景 np.loadtxt()用于从文本加载数据. 文本文件中的每一行必须含有相同的数据. *** loadtxt(fname, dtype=<class 'float'>, commen ...
- R: 导入 csv 文件,导出到csv文件,;绘图后导出为图片、pdf等
################################################### 问题:导入 csv 文件 如何从csv文件中导入数据,?参数怎么设置?常用参数模板是啥? 解决方 ...
- python导入csv文件出现SyntaxError问题分析
python导入csv文件出现SyntaxError问题分析 先简单描述下碰到的题目,要求是写出2个print的结果 可以看到,a指向了一个列表list对象,在Python中,这样的赋值语句,其实内部 ...
- neo4j导入csv文件
neo4j导入csv文件 关于neo4j的安装 官网和网上博客提供了n中安装的方法,这里不再赘述: 普通安装: https://cloud.tencent.com/developer/article/ ...
- Oracle数据库导入csv文件(sqlldr命令行)
1.说明 Oracle数据库导入csv文件, 当csv文件较小时, 可以使用数据库管理工具, 比如DBevaer导入到数据库, 当csv文件很大时, 可以使用Oracle提供的sqlldr命令行工具, ...
- java调用sqlldr导入csv文件数据到临时表
package cn.com.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File; ...
- CDH5.4.5运行Phoenix导入CSV文件
1.安装phoenix 在界面上设置Phoenix的parcel包: http://52.11.56.155:7180/cmf/settings?groupKey=config.scm.parcel. ...
随机推荐
- [转载]PHP检测一个元素是否存在于数组中
- jQuery css操作
jQuery操作css的元素样式 1.访问匹配元素的样式属性 来个小案例: <div id="div" style="width:200px;height:200p ...
- 访问servlet的路径问题
一.url-pattern的三种配置 在web.xml配置文件中配置有关Servlet的时候,<url-pattern>标签是用于配置当前Servlet拦截的路径,也就是说,客户端浏览器访 ...
- 使用Cmder的几个问题
Cmder 全尺寸版本 [101022] 新版本的 Cmder Full 版本,安装包目录的 config 目录下,已经没有 aliases 文件,在 vendor 下的 init.bat 下也没有了 ...
- 深入理解Java虚拟机 自己编译JDK
获取JDK源码 先明确OpenJDK和Sun/OracleJDK之间,以及OpenJDK 6.OpenJDK 7.OpenJDK7u和OpenJDK 8等项目之间是什么关系,这有助于确定接下来编译要使 ...
- WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
[2017-05-19 13:32:14,933] INFO Waiting for keeper state SyncConnected (org.I0Itec.zkclient.ZkClient) ...
- SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
下载地址: http://pan.baidu.com/s/1qWDinyk 一 开发环境 1.动态web工程 2.部分依赖 hibernate-release-4.1.0.Final.zip hibe ...
- javaWeb学习总结(8)- JSP属性范围(5)
所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围. 一.JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种: 当前页:一个属性只能在一个页面中取得 ...
- 关于IOS sourcetree 注册 2017最新hosts
今天用sourcetree git管理工具的时候,第一次打开发现需要注册. 在网上搜索了一下教程,发现现在新版本没有 (我同意协议)这个条款,这就尴尬.我以前没有sourcetree的账号. 试了 ...
- Swoole笔记(二)
本文示例代码详见:https://github.com/52fhy/swoole_demo. Task 我们可以在worker进程中投递一个异步任务到task_worker池中.此函数是非阻塞的,执行 ...