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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
| <?php
//////////////////////////////////////////////////////////////////
///INSERTION DES DONNEES DU FICHIER CSV DANS LA BASE DE DONNEES///
///SUIVRE LES COMMENTAIRES POUR VOIR CE QUE FAIT CHAQUE SECTION///
//////////////////////////////////////////////////////////////////
include('entete.php');
include('connection.php');
////////////////////////////
///Traitement des données///
////////////////////////////
//Recupere le nom du fichier indiqué par l'utilisateur
$fichier=$_FILES["userfile"]["name"];
//Affichage des variables de contrôle
//Pour le codeur seulement, a supprimer pour la version finale
echo "Nom du fichier =".$fichier;
echo "<br />Files =".$_FILES["userfile"]["name"];
//Ouverture du fichier en lecture
if ($fichier)
{
//Ouverture du fichier temporaire, en lecture seule
//--> Attention à la taille, si nécessaire modifier le fichier php.ini (Cf manuel d'utilisation)
$fp = fopen ($_FILES["userfile"]["tmp_name"], "r");
//Suivi des différentes variables pour le codeur
//Pour le codeur seulement, a supprimer pour la version finale
echo "<br />Files n2 =".$_FILES["userfile"]["tmp_name"];
echo "<br /> fp = ".$fp;
}
//Fichier inconnu
else
{
?>
<p align="center" >- Importation échouée -</p>
<p align="center" ><B>Désolé, mais vous n'avez pas spécifié de chemin valide ...</B></p>
<?php
exit();
}
?>
<p align="center">- Importation Réussie -</p>
<?php
////////////////////////////
///Importation du fichier///
////////////////////////////
$c = 0;
while (!feof($fp))
{
$ligne = fgets($fp,1024);
//Création du tableau des élements séparés par des tabulations
$liste = explode(" ",$ligne);
//Déclaration des tableaux contenant les doublons, déstinés ensuite à être supprimés.
$TypeDoublons = array();
//Boucle permettant de lire colonne par colonne le fichier à partir du fichier produit
for ($i=0; $i<63; $i++)
{
$liste[$i] = (isset($liste[$i])) ? $liste[$i] : Null;
//Permet d'éviter la casse avec les caracteres spéciaux dans le fichier fournis en paramètre
$search = array('é','è','É') ;
$replace = array('e','e','E');
$liste2[$i] = str_replace($search, $replace, $liste[$i]);
}
// Stock les valeurs dans un tableau contenant des doublons
$typeDoublons[$c] = $liste2[27];
// Traite les cas non renseigné en les replaçants par un mot distinct et compréhensible.
if ($typeDoublons[$c] == '')
{
$typeDoublons[$c] = 'VIDE';
}
// Créer le tableau 'type' à partir de typeDoublons, en supprimant les doublons
$type = array_unique($typeDoublons);
///////////////////////////////////////////////////
///REQUETES D'INSERTIONS DANS LA BASE DE DONNEES///
///-----ATTENTION PREND ENORMEMENT DE TEMPS-----///
///////////////////////////////////////////////////
//TABLE CANDIDAT :
/*$QueryInsertCandidat = " INSERT INTO candidat
VALUES(
'',
'$liste2[3]',
'$liste2[8]',
'$liste2[10]',
'$liste2[23]',
'$liste2[28]',
'$liste2[4]',
'$liste2[5]',
'$liste2[6]',
'$liste2[56]',
'$liste2[2]'
)";
$resuCandidat = mysql_query($QueryInsertCandidat) or die (mysql_error()); */
$c++;
}
//TABLE TYPE
for($i=1;$i<$c;$i++)
{
$queryType = " INSERT INTO type
VALUES(
'',
'$type[$i]'
)";
$resuType = mysql_query($queryType) or die (mysql_error());
//Supprime de la base les insertions des caractères vide du aux :
//'Notice: Undefined offset: 7 in XXX on line 75'
$delBlancType = "delete from type where nom_type = ' '";
$resuDelBlancType = mysql_query($delBlancType) or die(mysql_error());
}
//////////////////////
///FIN DES REQUETES///
//////////////////////
//Fermeture du fichier
fclose($fp);
//Se deconnecter de la base
mysql_close($co);
?>
<!--Balises de fermeture du document-->
</body>
</html> |
Partager