Comment faire pour importer des fichiers CSV dans MySQL avec PHP

January 14

Le format de valeurs séparées par des virgules (CSV) est utilisé pour créer des fichiers texte de données tabulaires. Il est utilisé par le carnet d'adresses, tableur et base de données des programmes de données de sortie dans un format qui peut être lu par un autre programme. Chaque ligne représente un enregistrement spécifique. Les champs de chaque enregistrement sont séparés par une virgule. Le langage de programmation PHP peut être utilisé pour placer le contenu d'un fichier CSV dans un tableau. Le tableau est ensuite envoyé à la base de données MySQL. Chaque champ est inséré dans une colonne particulière dans la table.

Instructions

1 Ouvrez un fichier texte vierge dans un éditeur de texte.

2 Tapez la ligne

<? Php

pour démarrer le script PHP.

3 Tapez les lignes

$ Hostname = "localhost";

$ Db_name = "exemple";

$ Table_name = "test";

$ Username = "username";

$ Passwd = "mot de passe";

$ F_separator = ",";

$ L_separator = "\ n";

$ Filename = "nomfichier.csv";

pour créer les variables utilisées dans le script. Remplacer les valeurs des variables avec les informations correctes pour votre base de données.

4 Tapez les lignes

if (! file_exists ($ filename)) {

echo "File not found. Stopping script.".PHP_EOL;

Sortie;

}

Pour vérifier si le fichier existe. Si le fichier n'existe pas la ligne "File not found. Arrêt script." sera imprimé à l'écran et le script se terminera.

5 Tapez les lignes

$ file = fopen ($ filename, "r") or die ( "ouvrir le fichier de script peut arrêter.». PHP_EOL.);

Pour ouvrir le fichier. Si le fichier ne peut pas être ouvert, la ligne "ouvrir le fichier Can. Scénario d'arrêt." sera imprimé à l'écran et le script se terminera.

6 Tapez la ligne

$ Size = filesize ($ filename) ou mourir ( "Le fichier est vide" .PHP_EOL);

obtenir la taille du fichier. Si le fichier est vide, la ligne "Le fichier est vide." sera imprimé à l'écran et le script se terminera.

7 Tapez les lignes

$ Content = fread ($ file, $ size);

fclose (fichier $);

à lire le contenu du fichier dans le "contenu $" tableau et fermez le fichier.

8 Tapez les lignes

$ Con = @mysql_connect ($ hostname, $ username, $ passwd) or die (mysql_error ());

@mysql_select_db ($ db_name) or die (mysql_error ());

de se connecter à la base de données et sélectionnez la table de base de données. Si le script ne peut pas se connecter à la base de données, l'erreur MySQL sera imprimé à l'écran et le script se terminera.

9 Tapez les lignes suivantes

$ lignes = 0;

$ L_array = array ();

pour créer les variables utilisées pour diviser chaque ligne du fichier CSV dans les champs séparés.

dix Tapez les lignes

foreach (split ($ l_separator, $ content) en tant que ligne de $) {

$ lignes ++;

$ ligne = trim ($ line, "\ t");

$ Line = str_replace ( "\ r", "", $ line);

$ Line = str_replace ( " '", "\'", ligne de $); // Échapper les caractères spéciaux

$ LineArray = explode (f_separator $, $ line);

$ Linemysql = implode ( " ','", $ LineArray);

pour séparer chaque ligne dans les champs qui seront ajoutés à la base de données.

11 Tapez les lignes

$ Query = "INSERT INTO VALEURS nom_table de $ ( '$ de linemysql');";

@mysql_query ($ query);}

pour envoyer les données à la base de données.

12 Tapez les lignes

mysql_close ($ con);

?>

pour fermer la connexion MySQL et terminer le script PHP.


          

Post a comment: