Bonjour à tous,
je me débats depuis ce matin script php qui devrait me peermettre d'importer des données CSV dans mes bases de données. La partie import n'est pas encoire écrite, mais dès le chargement du fichier csv j'ai des erreurs:
Warning: str_getcsv() expects parameter 1 to be string, array given in C:\wamp64\www\test\lama.php on line 20

Warning: Invalid argument supplied for foreach() in C:\wamp64\www\test\lama.php on line 23
Voici 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
 
<?php 
$separateur1 = "!#";
$separateur2 = "|";
$handle = fopen("C:\essai.csv","r+") ;
$contenuFichier = fgetcsv($handle,"r+");
$contenuFichier = str_replace($separateur1, $separateur2, $contenuFichier);
 
 
$formatCSV = array(
    "sautLigne" => 'a',
    "separateur" => $separateur2 ,
    "encadrant" => "%",
    "echappement" => "z",
);
 
 
 
$donnees = [];
 
$lignes = str_getcsv($contenuFichier);
 
 
foreach ($lignes as $ligne) {
 
    $ligne = str_getcsv(
          $ligne
        , $formatCSV["separateur"]
        , $formatCSV["encadrant"]
        , $formatCSV["echappement"]
    );
 
    $ligne = array_map("utf8_encode", $ligne);
 
    $donnees[] = $ligne;
 
}
?>
Merci d'avance,
Guillaume Proffit