file reader/file writer comment boucler
Bonjour à tous,
j'ai un fichier text qui ressemble a ceci:
Citation:
AN Xixerella
AN Vila
AN Sornas
AN Soldeu
AN Sispony
AN Segudet
AN El Tarter
AN Sant Julia de Loria
AN Sant Joan de Caselles
sauf que j'ai un peu plus de 2 millions de lignes
et je voudrais transformer ça en un insert sql
pour testé rapidement je n'utilise que les 2 premiers éléments.... (du moins j'essaie)
voila ce que j'ai fait jusqu'a maintenant:
Code:
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
| <?php
$file = "cities.txt";
$file_w = "cities.sql";
$f = fopen($file, "r");
$nf = fopen($file_w, "w+");
for($l = 0; $l<2; $l++){
$line = fgets($f);
$ex = preg_split('/\s+/', $line);
foreach($ex as $k => $v){
echo $ex[0].' '. $ex[1];
echo '<br>';
$fw = fwrite($nf, "('" . $ex[0] . "','" . $ex[1] . "')\r\n");
}
}
fclose($f);
fclose($nf);
?> |
mais le problem c'est que dans mon fichier cities.sql j'ai ceci
('AN','Xixerella')
('AN','Xixerella')
('AN','Xixerella')
('AN','Vila')
('AN','Vila')
('AN','Vila')
j'ai bien compris que c'était due au 2 qui est dans ma boucle for mais comment je peux fiare autrement?
j'ai aussi essayé des trucs dans ce genre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| $file = "cities.txt";
$file_w = "cities.sql";
$f = fopen($file, "r");
$nf = fopen($file_w, "w+");
while ($line = fgets($f, 4096000)) {
// echo $line;
$ex = preg_split('/\s+/', $line);
// var_dump($ex);die();
foreach($ex as $k => $v){
// echo $ex[0].' '. $ex[1];
// echo '<br>';
$fw = fwrite($nf, "('" . $ex[0] . "','" . $ex[1] . "')\r\n");
}
}
fclose($f);
fclose($nf); |
résultat identique. la parcontre j'ai pas compris il me mettait 3 fois les meme choses
mercii