Fonction fgetcsv() et ajout base de donnée
audi68
Messages postés
571
Date d'inscription
Statut
Membre
Dernière intervention
-
audi68 Messages postés 571 Date d'inscription Statut Membre Dernière intervention -
audi68 Messages postés 571 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
Je souhaiterais importer un fixhier txt dans ma base de donné tous les soir a 24h
pour l instant j arrive a lire le contenu du fichier mais je bloque sur l import dans ma base voici mon code
<?php
//source fichier
$content=file_get_contents('mon fichier.txt','r');
//On sépare par |
$content=explode("|", $content);
//On sépare chaque ligne par colonne
for($i=0;$i<sizeof($content);$i++)
{
$content[$i] = explode("\t", $content[$i]);
}
//resultat
print_r($content);
?>
merci de votre aide
Je souhaiterais importer un fixhier txt dans ma base de donné tous les soir a 24h
pour l instant j arrive a lire le contenu du fichier mais je bloque sur l import dans ma base voici mon code
<?php
//source fichier
$content=file_get_contents('mon fichier.txt','r');
//On sépare par |
$content=explode("|", $content);
//On sépare chaque ligne par colonne
for($i=0;$i<sizeof($content);$i++)
{
$content[$i] = explode("\t", $content[$i]);
}
//resultat
print_r($content);
?>
merci de votre aide
A voir également:
- Fonction fgetcsv() et ajout base de donnée
- Fonction si et - Guide
- Base de registre - Guide
- Ajout rapide snap - Forum Snapchat
- Formules mathématiques de base - Télécharger - Études & Formations
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
9 réponses
salut,
regarde si ton hebergeur te permet de faire des Cron tasks, si c'est le cas , il te reste plus qu'a le programmer pour 24 (ce qui est chose facile a priori) et qu'il ouvre un fichier php qui , toutes les 24 heures , ira faire des mises a jours...
regarde si ton hebergeur te permet de faire des Cron tasks, si c'est le cas , il te reste plus qu'a le programmer pour 24 (ce qui est chose facile a priori) et qu'il ouvre un fichier php qui , toutes les 24 heures , ira faire des mises a jours...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
la structure grosso modo c'est ca :
<? //avant toute ligne de code $connect=mysql_connect("host","user","pass"); $bdd=mysql_select_db("nom bdd",$connect); mysql_query("INSERT INTO ta_table (champ1, champ2, champ3) VALUES ('$content[$i]', '$content[$i+1]', '$content[$i+2]')"); // ici tout depends ce que tu veux faire :p ?>
le probleme est que je ne sais pas recuprer mon fichier txt
exemple de fichier txt
champ1|champ2|champ3
valeur1|valeur2|valeur3
12|23|34
ma 1er ligne correspond a la valeur des champs
ma 2eme et suivante au donné a inserer
tu comprends mieu?
exemple de fichier txt
champ1|champ2|champ3
valeur1|valeur2|valeur3
12|23|34
ma 1er ligne correspond a la valeur des champs
ma 2eme et suivante au donné a inserer
tu comprends mieu?
Salut,
tu as surement tes raisons mais pourquoi ne pas mettre directement les données dans la bd (et faire éventuellement dans l'autre sens c'est à dire bd vers fichier texte si tu en as vraiment besoin...) ?
Ce serait beaucoup plus simple !
tu as surement tes raisons mais pourquoi ne pas mettre directement les données dans la bd (et faire éventuellement dans l'autre sens c'est à dire bd vers fichier texte si tu en as vraiment besoin...) ?
Ce serait beaucoup plus simple !
"Je recois tous les jours un fichier txt sur mon serveur avec toutes les donnees pour mon site "
Qui te l'envoie ? Qui as déterminé la structure du fichier texte ?
Parce que là l'agencement du fichier est carrément foireux :/
Il faudrait au moins faire :
champ1 | valeur1
champ2 | valeur2
champ3 | valeur3
etc.
La manière actuelle, c'est carrément plus que chiant !
L'idéal étant un fichier .csv (toujours dans le cas où l'insertion se fait via fichier. L'idéal de l'idéal étant de ne pas faire une insertion par fichier :p)
Qui te l'envoie ? Qui as déterminé la structure du fichier texte ?
Parce que là l'agencement du fichier est carrément foireux :/
Il faudrait au moins faire :
champ1 | valeur1
champ2 | valeur2
champ3 | valeur3
etc.
La manière actuelle, c'est carrément plus que chiant !
L'idéal étant un fichier .csv (toujours dans le cas où l'insertion se fait via fichier. L'idéal de l'idéal étant de ne pas faire une insertion par fichier :p)
j ai reussi a separer mes ligne avec ceci
<?php
$row = 1;
if (($handle = fopen("monfichier.txt", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) {
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
j obitns ceci
id
ref
marque
38135
0
AC
38535
243
CITROEN
35774
227
TOYOTA
maintenat il ne me le reste plus qu a linsere dans la base...........
<?php
$row = 1;
if (($handle = fopen("monfichier.txt", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) {
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
j obitns ceci
id
ref
marque
38135
0
AC
38535
243
CITROEN
35774
227
TOYOTA
maintenat il ne me le reste plus qu a linsere dans la base...........