Bonjour,
Je souhaite intégrer un fichier .csv coté client et l'afficher sans recharger la page.
J'ai un formulaire HTML au sein duquel je permets de choisir un fichier, je fais une requete AJAX pour
ouvrir le fichier depuis une page PHP qui renvoie le résultat HTML à intégrer dans ma page.
Mais j'ai l'impression qu'il y a une incompatibilité entre le passage de données par $_POST et par $_FILES. (j'ai essayé les deux pour tenter de parvenir à mes fins)
Je récupère bien le nom du fichier depuis l'Ajax que j'envoie en PHP, mais avec seulement le nom du fichier, je ne peux ouvrir ce fichier pour générer ma réponse en HTML.
Voici le
Code html : 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 <form role="form" method="post" action="PHP_Pour_Ajax/Affichage_Chargement_Fichier_Client.php" enctype="multipart/form-data"> <form class="needs-validation" novalidate> <center><h5>Voici la liste des champs que votre fichier doit contenir</h5></center> <div class="form-row"> <div class="col-xs-8"> <table class="table table-striped table-hover"> <tbody> <thead> <tr> <th>Nom</th> <th>Prénom</th> <th>Code Postal</th> <th>Mail</th> <th>Téléphone</th> <th>Sexe</th> </tr> </thead> <div id='Chargement_Fichier_Visible'> </div> </tbody> </table> <div class="w-40"> <!-- Recuparation du fichier --> <div class="col-xs-8"> <label for="NomClient"></label> <input type="file" style="width:80%" name="FileToUpload" class="form-control" id="FileToUpload" required> </div> <label for="nom">Spécifiez le séparateur</label> <input type="text" style="width:30%"; class="form-control" id="separator" name="separator" required> <div class="valid-feedback">Ok !</div> <div class="invalid-feedback">Valeur incorrecte</div> </div> <div class="form-row"> <div class="col-xs-8"> <br/> <button id="IntegrationFichier" type="submit" class="btn btn-success pull-right"> Valider </button> </div> </div> </div> </div> </form> </form>
Ensuite l'AJAX
et le
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 <script type="text/javascript"> /* la fonction de ce script est d'envoyer et de récupérer les données des clients */ //loadData(); var NomDuFichier; //call by click event $('#IntegrationFichier').click(function(event){ event.preventDefault(); NomDuFichier=$('#FileToUpload').val(); $.ajax({ type: 'POST', url: 'PHP_Pour_Ajax/Affichage_Chargement_Fichier_Client.php', data: { NomFichier:NomDuFichier }, success: function(msg) { $("#Chargement_Fichier_Visible").html(msg); }, }); }); </script>
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (isset($_POST['NomFichier'])) { $NOM_DU_FICHIER = $_POST['NomFichier']; echo ($NOM_DU_FICHIER); } // je récupère bien le nom du fichier mais ce n'est pas suffisant pour lire le fichier. print_r( $_FILES['NomFichier']['name']); if(array_key_exists('FileToUpload', $_FILES)){ echo "on a bien trouve le fichier"; }
Merci d'avance de vos idées.
Partager