$file = fopen("1.csv","r");$title=array();
$data=array();
$i=0;
while(!feof($file))
{
if($i==1)
{
$content=fgetcsv($file);
for($j=0;$j<count($title);$j++)
{
$key=$title[$j];
$value=$content[$j];
$data[$key]=$value;
}
//此处省略掉将数组$data内数据写入数据库的语句。
}
else
{
$title=fgetcsv($file);
$i=1;
}
}
fclose($file);
$data=array();
$i=0;
while(!feof($file))
{
if($i==1)
{
$content=fgetcsv($file);
for($j=0;$j<count($title);$j++)
{
$key=$title[$j];
$value=$content[$j];
$data[$key]=$value;
}
//此处省略掉将数组$data内数据写入数据库的语句。
}
else
{
$title=fgetcsv($file);
$i=1;
}
}
fclose($file);
解决方案 »
- 为什么将操作数据库的函数封装后就连接不上数据库?
- 求救!关于 jquery ui dialog 提交表单时的上传文件问题
- php字符编码的问题
- 高手帮帮忙吧PHP上传问题
- 大家帮我选选,php or jsp。。。。。。。。。。。。。。。。。。。。。。。
- 求助,同时注册两个SESSION变量,第二个竟然没有注册进去
- 嵌入框架的问题,急!!20分相送!!
- 我用php的图像处理函数生成图片,总是说"图片有错误无法正常显示",请教达人.
- 召集哈尔滨程序员共同开发项目
- 请各位大虾说一下oracle函数中,ocifetchinto的具体用法?
- php 如何遍历文件到一个数组中去?
- wordpress提示区域时间设置问题
$titlekey='';...省略掉读取文件给$data赋值的语句,这里给$titlekey赋值,内容是任意的一个‘key’$count=count($data[$titlekey]);//任取一列进行分析,for($j=0;$j<$count;$j++)
{
if($data[$titlekey][$j]=='') //如果某列中有空值,将该空值对应的key记录到$k中
{
$k=$j;
}
if($k!=-1)
{
for($j1=0;$j1<count($title);$j1++)
{
$key=$title[$j1];
if($data[$key][$k]!='')
{
$k=-1;
}
}
if($k!=-1)//如果每一列的该行都为空,就把这一行所有的信息从对应的数组项中删掉
{
for($j1=0;$j1<count($title);$j1++)
{
$key=$title[$j1];
unset($data[$key][$k]);
}
}
}
}
if(trim(join('',$buf))) {
这里是正常的入库操作
}
}
$fields = fgetcsv($handle_csv, 1024);
if($fields === false){
break;
}
if($fields[0] === ""){
continue;
}
$data[] = $fields;