Bonjour,

J'ai un fichier contenant 1450 lignes, chaque ligne contient une date au format français (jj/mm/aaaa)
Je voudrais remplacer chaque ligne de ce fichier par la même date mais au format SQL (aaaa-mm-jj)

voici mon code:
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
<?php 
 
$fichier = @fopen('P:\php\dates.txt','r+');
if (!$fichier) die("Impossible d'ouvrir le fichier"); 
 
function dateUS($date) 
	{ 		
		$split = split("/",$date);
		$jour = $split[0];
		$mois = $split[1];
		$annee = $split[2];
		return  "$annee"."-"."$mois"."-"."$jour";	//retourne la date en US dans la variable date
	}
 
while (!feof($fichier)) // tant qu'on est pas à la fin du fichier texte.
{ 
	$ligne = fgets($fichier, 500);
	if (!feof($fichier)) $date=$ligne;
	fputs($fichier,dateUS($date));
}
fclose($fichier); 
 
?>
La fonction dateUS est surement bonne car lorsque je la teste seule, hors de la boucle while, elle me renvoie une date convertie correctement !
Alors que lorsque j'execute mon code en partant de ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
01/01/1992
01/04/1996
01/01/1998
01/01/1998
j'ai un resultat qui donne ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
01/01/1992
1992
-01-0101/01/1998
1998
-01-0101/01/1998
1998
-01-0101/09/1998
C'est inexploitable....

il zappe carrément le 1996...