cs_seybou
Messages postés3Date d'inscriptiondimanche 9 mai 2004StatutMembreDernière intervention 6 octobre 2009
-
10 sept. 2009 à 13:44
cs_seybou
Messages postés3Date d'inscriptiondimanche 9 mai 2004StatutMembreDernière intervention 6 octobre 2009
-
14 sept. 2009 à 18:17
Bonjour,
j'ai besoin de l'aide pour faire telecharger des fichiers binaires sur un serveur bien donné, ensuite les traduire en txt,les concatener par groupe pour faire u seul fichier pour chaque groupe, ensuite importer ces fichiers dans Mysql en creant une table,dans une base dejà créee, ayant des champs comme les noms figurant dans la ligne (BTS_INDEX LAPD_TYPE LAPD_NUMBER L1_1 L1_12 L1_15 L1_16 L1_17 L1_18 L1_2 L1_5 L1_6.
Le format du fichier binaire est le suivant:
BSS release : 9
Name of BSC : AGA
Type of Measurement : RT07_LAPD Measurements
Measurement begin date and time : 2009-07-17 03:00
Measurement end date and time : 2009-07-17 04:00
Input file name : /metrica/npa/spool/bss/obsynt/B9/TYPE_7-#-6-#-omcniger-#-17Jul2009-#-03:00-#-04:00-#-I-#-S.lif
Output file name : /al/var/share/AFTR/APME/OBSYNT/AGA/20090717/R00700004.198
Bemale
Messages postés24Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention11 septembre 2009 10 sept. 2009 à 18:37
Un truc comme ça ?
Sachant que le fichier data.csv ne contient que les entêtes de champs et les données comme suit
BTS_INDEX LAPD_TYPE LAPD_NUMBER L1_1 L1_12 L1_15 L1_16 L1_17 L1_18 L1_2 L1_5 L1_6
1 44 1 374 0 0 0 0 0 187 0 0
3 43 9 1789 0 0 0 0 0 1175 0 0
and so on...
$file = fopen('data.csv','r');
$table_name = 'table_test';
$entete = fgetcsv($file,1024,' ');
if (!($connex = mysql_connect('127.0.0.1','root','')))
{
die ("ERREUR : la connexion à la BDD a échouée !");
}
mysql_select_db('demo',$connex);
$creat_table = 'CREATE TABLE '.$table_name.' (';
$list_champ = '';
foreach ($entete as $nom_champ)
{
$list_champ .= '`'.$nom_champ.'` int(12) unsigned NOT NULL default \'0\',
';
}
//Suppression de la dernière ,
$creat_table .= substr($list_champ,0,strrpos($list_champ,','));
$creat_table .= ') ENGINE=MyISAM DEFAULT CHARSET=latin1;
' ;
//On détruit la table si elle existe
mysql_query('DROP TABLE IF EXISTS '.$table_name.';',$connex);
mysql_query($creat_table,$connex);
while ($ligne = fgetcsv($file,1024,' '))
{
$query = 'INSERT INTO '.$table_name. ' ('.implode(',',$entete).') VALUES ('.implode(',',$ligne).')';
mysql_query($query,$connex);
}
fclose($file);
mysql_close($connex);
NDLR : peu ou pas de commentaires enfin ça va il n'y a pas de rtfm (read the f*cking manual) et pas de gestion d'erreur.