Problème code PHP
Résolu/Fermé
Noune1310
Messages postés
7
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
2 juillet 2013
-
20 juin 2013 à 09:51
Noune1310 Messages postés 7 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 2 juillet 2013 - 20 juin 2013 à 16:30
Noune1310 Messages postés 7 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 2 juillet 2013 - 20 juin 2013 à 16:30
A voir également:
- Problème code PHP
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
1 réponse
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
Modifié par Alain_42 le 20/06/2013 à 15:59
Modifié par Alain_42 le 20/06/2013 à 15:59
voir commentaires
<?php // Test si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['fichiercsv']) AND $_FILES['fichiercsv']['error'] == 0) { // Test taille du fichier if ($_FILES['fichiercsv']['size'] <= 2000000) { // Test extension autorisée $infosfichier = pathinfo($_FILES['fichiercsv']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('csv'); if (in_array($extension_upload, $extensions_autorisees)) { $fichiercsv = $_FILES['fichiercsv']['tmp_name'] ; $i=0; $fichier = fopen($fichiercsv, "r"); //Ouverture du fichier en mode lecture //lecture ligne par ligne tant qu'on est pas à la fin du fichier while (!feof($fichier)) { $ligne = fgets($fichier, 1024); //Récupération de la ligne $tableau[$i] = explode(';', $ligne); //Récupération des différentes valeurs trouvées dans une ligne $i++; } fclose($fichier); // Fermeture du fichier $nblignes=$i; //print_r($tableau) ; //Connexion à la base de données try { $bdd = new PDO('mysql:host=localhost;dbname=donneesreporting', 'root', 'root'); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } // print_r($tableau[1][5]); // Les valeurs lues dans le fichier sont insérées dans la BD ligne par ligne //$i commence à zéro dans ta boucle while de lecture du fichier et a la fin de boucle while $i vaut 1 de plus que le nombre de lignes donc il faut mieux boucler sur la taille réelle de $tableau for ($i=0;$i<sizeof($tableau);$i++) { $v1=$tableau[$i][0]; $v2=$tableau[$i][1]; $v3=$tableau[$i][2]; $v4=$tableau[$i][3]; $v5=$tableau[$i][4]; $v6=$tableau[$i][5]; $v7=$tableau[$i][6]; $v8=$tableau[$i][7]; $v9=$tableau[$i][8]; $v10=$tableau[$i][9]; $v11=$tableau[$i][10]; $v12=$tableau[$i][11]; $v13=$tableau[$i][12]; $v14=$tableau[$i][13]; $v15=$tableau[$i][14]; $v16=$tableau[$i][15]; $v17=$tableau[$i][16]; $v18=$tableau[$i][17]; $v19=$tableau[$i][18]; $v20=$tableau[$i][19]; $v21=$tableau[$i][20]; $req = mysql_query("INSERT INTO piq VALUES ('$v1', '$v2', '$v3', '$v4', '$v5', '$v6', '$v7', '$v8', '$v9', '$v10', '$v11', '$v12', '$v13', '$v14', '$v15', '$v16', '$v17', '$v18', '$v19', '$v20', '$v21')"); } // fermeture de la base de données mysql_close("donneesreporting"); // Test requete if ($req) { echo "Transfert effectué avec succes"; } else { echo "Echec du transfert"; } //echo "Importation effectuee avec succes" ; } else { echo "Mauvaise extension de fichier" ;} } else { echo "Fichier trop lourd" ;} } else { echo "Echec ouverture du fichier"; } ?>
20 juin 2013 à 16:30
Mais j'ai trouvé une solution j'ai changé ma solution de comptage de ligne par :
$nblignes=$i-1;
Cela fonctionne.
Merci pour votre aide !
Bonne soirée