$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('csv');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
// 上传单个文件
$info = $upload->uploadOne($_FILES['filename']);
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功 开始处理并写入数据库
ini_set('memory_limit', '-1'); //PHP内存设置
$filePath = './Uploads/2020-03-11/5e68b1d2ec471.csv'; //设置路径.$info['savepath'].$info['savename']
//exit($filePath);//测试
$handle=fopen($filePath,"r");
$allData = array();
if (!$handle) {
$ec = '读取文件失败!';
}else{
while (($data = fgetcsv($handle)) !== false) {
foreach ($data as $kk => $vv){
$data[$kk] = iconv('gbk', 'utf-8', $vv);
}
if ($data[0] == 'SmID_1') {
continue;
}
array_push($allData,$data);
}
// 关闭文件
fclose($handle);
$chunkData = array_chunk($allData,500);
$count = count($chunkData);
//$tabname = array("smid","dlbm","dlmc","smarea");
$res = M('odata');
for ($i = 0; $i < $count; $i++) {
//print_r($chunkData[$i]);
$res->addAll($chunkData[$i]);
echo $res->getLastSql();exit();
if(!$res){
echo $res;die;
}
}
$ec = '转入数据库成功!共导入'.$i.'条数据!';
}
}大神们,帮我看看,上面的代码在控制器这里print_r打印出来 是有数据库的,为什么去到MYSQL驱动那边就空变值了,写到数据库也是空值 最佳答案