Je cherche le code d'un formulaire pour parcourir un fichier csv et le charger dans une table de ma basr de donnée mysql.
Je cherche le code d'un formulaire pour parcourir un fichier csv et le charger dans une table de ma basr de donnée mysql.
Bonjour,
Première recherche sur le forum :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $nom_fichier1=le_nom_de_ton_fichier; $commande="mysql -u root -TONPASS -e 'LOAD DATA LOCAL INFILE \"/TONCHEMIN/".$nom_fichier1."\" INTO TABLE TA_TABLE FIELDS TERMINATED BY \";\" IGNORE 1 LINES (CHAMP1,CHAMP2,...,CHAMP_N)' TA_BDD;"; exec($commande);
Liens vers quelques discussions correspondantes :
Importer un fichier csv --> LOAD DATA INFILE
Importer des données .CSV
Fonction LOAD DATA INFILE avec un fichier source csv
Au cas où l'exemple de MaitrePylos ne soit pas suffisant...
Cordialement,
Patrick Kolodziejczyk.
Dans mon cas je ne veux pad fixer le nom de fichier je veux que l'utilisateur charge le fichier de son choix de type csv (parcourir le fichier puis le charger) .
C'est pas plus compliqué .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 $fichier = $_FILE['fichier']; //Vérification que tout le fichier correspond à ce que l'on veut ...... //lecture du fichier $lecture = file($_FILE['fichier']['name']; foreach($lecture as $v) { echo $v .'<br />'; } //enregistrement du fichier $commande="mysql -u root -TONPASS -e 'LOAD DATA LOCAL INFILE \"/TONCHEMIN/".$fichier."\" INTO TABLE TA_TABLE FIELDS TERMINATED BY \";\" IGNORE 1 LINES (CHAMP1,CHAMP2,...,CHAMP_N)' TA_BDD;"; exec($commande);
bonjour,
j'ai trouvé cette exemple mais j'ai un problème j'ai toujours ce message "Notice: Undefined index: fichier in C:\Users\samouh\deplacement\chargement1.php on line 27
Ce n'est pas un fichier de type .csv" même si le chargement passe bien
voila mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 <html> <head> <title>Importer un fichier texte dans une bdd MySQL</title> </head> <body> <form enctype="multipart/form-data" action="chargement1.php" method="post"> <p>Vous pouvez IMPORTER UNE LISTE issue d'un fichier au format CSV</p> <p> <input name="fichier" type="file" id="fichier" value="table.csv" /> </p> <p><input type="submit" name="go" value="Envoyez le fichier" /></p> </form> <?php // CONNEXION à la base // require_once('Connections/depalcement.php'); //require_once('../connections/joomla1.php'); // RECUPERATION CODE_CLASSE //} // UPLOAD DU FICHIER CSV, vérification et insertion en BASE if($_FILES["fichier"]["type"] != "application/vnd.ms-excel"){ die("Ce n'est pas un fichier de type .csv"); } elseif(is_uploaded_file($_FILES["fichier"]["tmp_name"])){ mysql_select_db($database_depalcement, $depalcement); //Process the CSV file $handle = fopen($_FILES["fichier"]["tmp_name"], "r"); $data = fgetcsv($handle, 1000, ";"); //Remove if CSV file does not have column headings while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { $att0 = mysql_real_escape_string($data[0]); $att1 = mysql_real_escape_string($data[1]); // $att2 = mysql_real_escape_string($data[2]); // $att3 = mysql_real_escape_string($data[3]); $sql = "INSERT INTO test (NOM, PRENOM) VALUES ( '" . $att0 . "', '" . $att1 . "')"; mysql_query($sql); } header('Location: chargement1.php'); } else{ die("Vous ne devriez pas être là"); } mysql_close(); ?> </body> </html>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager