解析上传的CSV文件并将数据存储到数据库

Ana*_*man 2 php csv upload

我想要使​​用PHP的以下功能

我有一个csv文件.每个文件对应于我的数据库中的一行

有一个html表单,允许我选择csv文件.

然后,一旦提交表单,我必须解析csv文件并相应地将数据插入到数据库中

我该怎么做呢?

Pas*_*TIN 9

通常可以使用该fgetcsv函数读取CSV文件(根据您的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
}
Run Code Online (Sandbox Code Playgroud)

(未经测试,但fgetcsv手册页上给出示例应该可以帮助您入门)

当然,您必须获得上传文件的正确路径 - 请参阅$_FILEsuperglobal和有关处理文件上传的部分,以获取有关该文件的更多信息.

而且,要将数据保存到数据库中,您必须使用适合您的数据库引擎的API - 如果使用MySQL,您应该使用:

  • mysqli的
    • 请注意,您应该更喜欢mysqli,而不是旧的mysql扩展(不支持在MySQL> = 4.1中添加的功能)
  • PDO