如何读取csv文件并存入数据库?

来源:互联网 发布:社交媒体数据可视化 编辑:程序博客网 时间:2024/05/30 04:29
<?php$handle = fopen($strfile, "r");if ($handle) {    $iteration = 0;    while ($file_conent = fgetcsv($handle, 1000, ",")) {        if ($iteration >= 0) {            $k = 0;            if ($file_conent[0] != '') {                if ($file_conent[1] != '') {                    $products_status = tep_db_query("select products_id from products WHERE products_model='" . $file_conent[0] . "'");                    $product_values = tep_db_fetch_array($products_status);                    if (tep_db_num_rows($products_status) > 0) {                        if ($action == 'update_product_quantity_csv') {                            if ($file_conent[1] == 0) {                                tep_db_query("update products set products_quantity  = '" . $file_conent[1] . "',products_status =0     where products_id ='" . $product_values['products_id'] . "'  AND products_quantity_constant='N'");                            } else {                                tep_db_query("update products set products_quantity  = '" . $file_conent[1] . "',products_status =1     where products_id ='" . $product_values['products_id'] . "'  AND products_quantity_constant='N'");                            }                        }                    } else {                        array_push($products_notin_web, $file_conent[0]);                    }                } else {                    array_push($products_not_updated, $file_conent[0]);                }            }        }//if        $iteration++;    }//while}?>

工作中遇到的,觉得有点用,就mark下来了:

$handle = fopen($strfile, "r");
这个就不用说了,以只读方式打开文件。

$file_conent = fgetcsv($handle, 1000, ",")
看这句,fgetcsv(),从文件指针中读入一行并解析 CSV 字段,这里是以“,”为数据分隔读取数据的

比如:

y470,5000

y480,5500

$file_conent[0]
这个自然是每一行的第一个数据了。

再来个while循环执行导入的操作

so

done!



原创粉丝点击