解析上传的CSV文件并将数据存储到数据库中
问题描述:
我想使用以下功能php解析上传的CSV文件并将数据存储到数据库中
我有一个csv文件。每个文件对应我的数据库中的一行
有一个html表单,可以让我选择csv文件。
然后,一旦提交表单,我必须解析csv文件,并相应地将数据插入到数据库
我如何去这样做呢?
答
读一个CSV文件通常使用fgetcsv
功能来完成(根据你的那种CSV文件,你可能必须指定分隔符,分隔符...作为参数)
这意味着,要通过你的文件一行行不会比这样的事情更难:
$f = fopen('/path/to/file', 'r');
if ($f) {
while ($line = fgetcsv($f)) { // You might need to specify more parameters
// deal with $line.
// $line[0] is the first column of the file
// $line[1] is the second column
// ...
}
fclose($f);
} else {
// error
}
(未测试,但例如在the manual page of fgetcsv应该给予帮助你开始)
当然,您需要找到上传文件的正确路径 - 请参阅$_FILE
超全球,以及关于Handling file uploads的部分,以获取更多有关该信息的信息。
而且,保存数据到数据库中,你必须使用一个适合您的数据库引擎的API - 如果使用MySQL,你应该使用:
注意应该是获取上传的文件是由'$ _FILES ['fieldname']'完成的。 – BalusC 2010-03-16 12:02:07
@帕斯卡感谢,帮助 – 2010-03-17 09:23:51