我有一个 txt 文件,我需要将它上传到我的 mysql 数据库中。所以我在 php.net 中找到了这段代码:
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
有效。当我给出一个'print_r'时,我有这个:
PAGE:1
ANUALDATA
Ver:1.651.A
Site data ou www.sitedata.com
COUNT:3758-3 NAME:USER NAME IDUS: 262.911.258-62
PLACE:030 IDCUS:11003
DATE 31/12/2011
VALUE................................U$ 200,00
PROCESS DATE 31/12/2011
VALUE NEEDED.....................U$ 3,45
PAID VALUE..........U$ 50,00
PAGE:2
ANUALDATA
Ver:1.651.A
Site data ou www.sitedata.com
COUNT:3758-3 NAME:USER NAME IDUS: 262.911.258-62
PLACE:030 IDCUS:11003
DATE 31/12/2011
VALUE................................U$ 200,00
PROCESS DATE 31/12/2011
VALUE NEEDED.....................U$ 3,45
PAID VALUE..........U$ 50,00
PAGE:3
ANUALDATA
Ver:1.651.A
Site data ou www.sitedata.com
COUNT:3758-3 NAME:USER NAME IDUS: 262.911.258-62
PLACE:030 IDCUS:11003
DATE 31/12/2011
VALUE................................U$ 200,00
PROCESS DATE 31/12/2011
VALUE NEEDED.....................U$ 3,45
PAID VALUE..........U$ 50,00
现在我的问题来了。我看到了其他示例,但确实可以将其用于我的案例。我需要做一些事情,比如在 $key = $val 中转换每一行,比如
[VALUE] => 200,00
[PROCESS DATE] =>31/12/2011
你会注意到那是页面,我需要刹车才能有这样的东西
[0]
[VALUE] => 200,00
[PROCESS DATE] =>31/12/2011
[1]
[VALUE] => 200,00
[PROCESS DATE] =>31/12/2011
因此,我将在 db 的每一行中插入这些数据。有办法吗?如果我只能得到 de $value 那也可以。
编辑
它不是 CSV,而是另一个系统创建的 TXT,我无法控制它。