Bonjour à tous,
j'ai un fichier text qui ressemble a ceci:
sauf que j'ai un peu plus de 2 millions de lignesAN Xixerella
AN Vila
AN Sornas
AN Soldeu
AN Sispony
AN Segudet
AN El Tarter
AN Sant Julia de Loria
AN Sant Joan de Caselles
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:
mais le problem c'est que dans mon fichier cities.sql j'ai ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); ?>
('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
résultat identique. la parcontre j'ai pas compris il me mettait 3 fois les meme choses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
mercii
Partager