php将csv文件导入数据库

标签 php mysql

我有一个文件需要导入我的数据库,但我想一次导入 10 条记录。

例如我的 .csv 文件中有 100 条记录,所以它第一次运行时将从 0 开始,然后转到 10 并将你的更改为 domain.com/importfile.php/?start=10

这是我使用的代码。

$file = fopen($file, "r");
    while (($data = fgetcsv($file, 8000, ",")) !== FALSE) {
        $county = new County();
        $county->countrycode = $countrycode;
        $county->code = trim($data[0]);
        $county->var_name = $county->mod_write_check( trim($data[1]) );
        $county->name = trim($data[1]);
        $county->statecode = trim($data[2]);
        $save = $county->save();
    }
    fclose($file);

我想知道这是否可以做到。

最佳答案

我建议使用 SplFileObject用于处理文件。

这是一篇介绍基础知识的博客:

http://hakre.wordpress.com/2010/07/25/parsing-csv-files-with-php-spl-style/

SplFileObject 可以很容易地查找,但要与 limitIterator 结合使用你也可以这样做:

$csv = new SplFileObject('data.csv');
$csv->setFlags(SplFileObject::READ_CSV);

foreach(new LimitIterator($csv, 0, 500) as $line){
  #save $line
}

Code snippet source

关于php将csv文件导入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16776963/

相关文章:

php - 如何用 PHP 处理日期和时间?

php - 如何检查 PHP session 是否存在?

javascript - 使用 jQuery 和下拉菜单更新网站

mysql - 如何从包含大量记录的mysql数据库中进行备份?

php - 我怎样才能简化这个 mysql 查询?

php - 如何在 ZF2 的控制台 Controller 中创建 URL?

php - UTF-8贯穿始终

php - 我想使用 PHP 和 MySQL 对我选择的数据进行过滤

python - 从 SQL 语法到 SQLAlchemy 语法

mysql - 如何在不中断网站的情况下刷新 MySQL 表?