Voici un petit truc simple pour écrire une date du type « 18 mars 2010″ sans utiliser « setlocal() » pour modifier les paramètre de langue et d’endroit du serveur. Tout d’abords nous devons créer un vecteur (array) avec les mois francophone :

$lesMois = array(0,’janvier’,'février’,'mars’,'avril’,'mai’,'juin’,'juillet’,'août’,
‘septembre’,'octobre’,'novembre’,'décembre’);

Dans le array, le premier paramètre est vide de façon à ce que le mois de janvier soit à la position 1 et non pas 0 .

Maintenant nous pouvons créer la date
Le Jour :

$jour = date(‘d’);

ensuite le mois :

$mois = $lesMois[date('n')];

Nous allons donc chercher dans le array le terme correspondant à date(‘n’) (Mois sans les zéros initiaux)

Et pour conclure nous l’affichons :

echo $jour.’ ‘.$mois.’ ‘.date(‘Y’);

ou si vous voulez éviter d’utiliser plusieurs lignes et commandes vous pouvez remplacer les 3 dernières lignes par :

echo date(‘d’),’ ‘,$lesMois[date('n')],’ ‘,date(‘Y’);

Donc la commande complète en 2 lignes est :

$lesMois = array(0,’janvier’,'février’,'mars’,'avril’,'mai’,'juin’,'juillet’,'août’,
‘septembre’,'octobre’,'novembre’,'décembre’);
echo date(‘d’),’ ‘,$lesMois[date('n')],’ ‘,date(‘Y’);

Vous pouvez le voir en action ici