【问题标题】:Parsing an uploaded CSV file and storing data to database解析上传的 CSV 文件并将数据存储到数据库
【发布时间】:2010-03-16 11:55:56
【问题描述】:

我想要使用 php 的以下功能

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

有一个 html 表单可以让我选择 csv 文件。

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

我该怎么做呢?

【问题讨论】:

    标签: php upload csv


    【解决方案1】:

    读取 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,您应该使用:

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

    【讨论】:

    • 需要注意的是,获取上传的文件是由$_FILES['fieldname']完成的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    相关资源
    最近更新 更多