Maison >développement back-end >tutoriel php >PHP lit les données CSV ligne par ligne dans la base de données

PHP lit les données CSV ligne par ligne dans la base de données

不言
不言original
2018-04-16 16:06:391558parcourir


Exigence : Importer les données csv exportées du fichier Excel dans la base de données

La solution est la suivante :

 // 判断文件是否上传成功
        if (empty($_FILES['file1']) && $_FILES['file1']['error'] != 0) {
            return 'Error file1';
        } else {
            $filename = $_FILES['file1']['tmp_name'];
        }

        // 组装数据
        $fields = ['name', 'age', 'telephone'];
        $fields_cnt = count($fields);
        
        // 用二进制打开文件,避免编码问题
        $fp_in = @fopen($filename, "rb");
        while (!feof($fp_in)) {
            $line = fgets($fp_in);
            if ($line) {
                $arr = explode(',', $line);
                // 待插入数据格式化
                $fmt = array_map(function ($v) {return ($v == 0) ? $v : ((int) $v);}, $arr);
                $data[] = array_combine($fields, array_splice($fmt, 1, $fields_cnt));
            }
        }
        fclose($fp_in);

        // TP数据批量入库
        $q = M("excel_1")->addAll($data);

Résumé :

Série de fonctions d'opération de fichier : fopen, feof, fgets, fclose respectivement ouvrir, trouver la fin, obtenir la ligne, fermer

La signification du formatage des données : comme les données exportées de A base de données, il y aura des données de mise en forme +", le formatage peut supprimer automatiquement le symbole "

array_combine tableau de fusion clé-valeur.

Recommandations associées :

Opérations de base de lecture de données avec Php

Exemple de partage de lecture de fichiers json locaux avec Php

PHP lit les données des fichiers CSV et génère des fichiers CSV

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn