<hier>Janvier 2005 _</hier>

07

Vendredi 07 janvier 2005 | link |

Presque 2 mois que je n'ai pas trouvé le temps, l'inspiration, le courage, de mettre à jour ce blog ! C'est du propre.
Merci, en tous cas, à tous ceux qui l'ont fait vivre un peu avec leurs commentaires :-)

Bonne année à tous pour les 4,5.109 prochaines années ! (alors là, je suis tranquille pour un bout de temps avec les voeux).

Ma bonne résolution pour l'année ?... euh... me coucher avant minuit tous les soirs ?

Pas de nouvelles du mammouth aujourd'hui, c'est trop déprimant, surtout quand je pense à l'Homme sous les cocotiers (hééééé oui [soupir]). Cher et Tendre est donc bien arrivé en Guadeloupe cette nuit. Son avion a eu pas mal de retard, mais le voyage s'est bien passé et maintenant il a froid... à cause de la clim. La vie d'un technicien de maintenance informatique est vraiment très dure...

fileMtime()

Un peu de php tient, ça faisait longtemps.

fileMtime() est une contraction de file-modif-time : c'est donc une fonction qui permet d'indiquer automatiquement la date de modification (ou de création) d'un fichier.

Si l'on désire renseigner sur la date de dernière modification du fichier toto.php, on écrira :

<?php 
$modif = fileMtime("toto.php");
print ("<p>Dernière MAJ : ");
print (date("d-m-Y", $modif));
print ("</p>");
?>

En passant, vous aurez aussi retenu la fonction date() dont le d indique le jour, le m le mois et enfin Y l'année.

Pour ce post, cela donne :

Dernière MAJ : 02-12-2017

Chaque nouveau commentaire (s'il y en a ;-) ) va modifier le fichier et la date changera sans aucune intervention de ma part : une vraie astuce de fainéant !

Encore plus !

La première fonction qu'on utilise lorsqu'on débute en php, c'est include(). Je ne vais donc pas en développer l'intérêt ici, mais juste l'utiliser à des fins encore plus mercantiles.

Imaginons un pied de page identique pour toutes les pages de site, mais tout de même susceptible d'être modifié. Je vais donc utiliser la fonction include() pour gagner du temps (oui je sais Karl, les pages dynamiques comme ça, c'est une plaie pour les serveurs) :

<?php 
include ("footer.html");
?>

Dans ce pied de page, j'aimerais qu'apparaisse la date de dernière mise à jour de la page courante qui, évidemment, ne s'appelle pas forcément toto.php. Il faut donc récupérer dans une variable le nom du fichier courant, quel que soit son chemin.

$PHP_SELF permet d'obtenir le chemin et le nom du fichier. Pour ce post, cela donne :

Le chemin courant est : /weblog/2005/janvier_05.php

Ce renseignement sera donc différent que l'on soit ici, ou .

Pour récupérer uniquement le nom de fichier, on peut utiliser la fonction explode("/", $PHP_SELF) qui va permettre de compter les parties du chemin entre chaque "/".
Si il y a "n" parties, le nom de fichier sera juste après le (n-1)ième "/" (c'est le fameux problème des intervalles).

Le script sera composé ainsi :

<?php  
$part = explode ("/", $PHP_SELF);
$n = count($part);
$fichier = $part[$n-1];
$maj = fileMtime($fichier);
print ("<p>Dernière MAJ : ");
print (date ("d-m-Y", $maj));
print ("</p>");
?>

Il y a certainement une méthode plus elegante, mais bon, c'est moi qui l'ai fait ! ;-p

je suis loin d'être un cador en php, mais j'utilise ceci :

<?php
if (file_exists($filename))
{
echo 'Dernière modification
le : '.date("d/m/Y", filemtime($filename))
;}
?>  

Sachant que quelque part sur le fichier, il faut avoir déclarer la variable filename. Dans le head, par exemple. Exemple :

<head>
<?php
$filename = toto.php';
?>
...
</head>  

Bonne année !

Pascal Grouselle - 08-01-2005 - 00:56

Oui, bien sûr.

Mais si le site est déjà fait, cela oblige à reprendre chaque page une à une pour rajouter la variable filename.
Tandis que si il y a déjà un pied de page, un menu, unique grâce à la fonction include, il n'y qu'un seul fichier à modifier.

Une grosse fainéante j'vous dit ;-)

Pascale - 08-01-2005 - 17:45

Vive les faineants!

Piou2fois - 08-01-2005 - 19:55

Salut!

Juste une remarque : à l'heure de PHP 4.3.10 et 5.0.3 il serait bien de penser à utiliser les variables globales de PHP, et ce quelle que soit la valeur de register_globals dans le php.ini. Donc utiliser $_SERVER['PHP_SELF'] au lieu de $PHP_SELF :)

C'était la remarque du jour :]

++

microtom - 09-01-2005 - 15:54

Ah oui, bonne remarque microtom ;-)

Pascale - 09-01-2005 - 16:13

Ravi de voir une mise à jour, même si je comprends assez bien cette sensation de "fuite du temps", au détriment du carnet.

Bonne année à toi Pascale!

Joël.

aqb - 10-01-2005 - 20:48

Merci Joël, à toi aussi ! :-)

Pascale - 10-01-2005 - 23:01

C'est compliqué......

Christine

- 12-01-2005 - 19:44

Christine ? Mais serait-ce ma chère belle-soeur qui écrit ? ;-)

Pascale - 12-01-2005 - 21:04

Et si tu rajoutais Dernière MAJ avec heure, minute et seconde pour qu'on puisse suivre le rythme haletant des mises à jour 2005 ?

bistouri - 12-01-2005 - 21:14

Banco !

Dernière MAJ : 02-12-2017 à 13:35:34

Pascale - 12-01-2005 - 23:23

- 14-01-2005 - 15:06

ah, des messages vides... ce n'est pas un jeu non plus !

Pascale - 14-01-2005 - 20:27

Clair que ce n'est pas drôle ! ^^

Mais ça confirme que ton script fonctionne au poil !

- 15-01-2005 - 02:54

Pour éviter les messages vides, un simple test suffit :
1. si champ vide (voir du côté de "empty")
=> afficher message "vous devez remplir le champ...")
2. sinon
=> traitement du formulaire (insertion des valeurs dans la BD, affichage,...).

C'est tout ;-)

NB1 : voir ausi la fonction "isset".
NB2 : penser aussi à *nettoyer* les entrées du formulaires ("strip_tags", "trim", etc).

Petrus - 22-01-2005 - 10:45

oui, oui, c'est juste une question de temps pour arranger ça.
En ce qui concerne le nettoyage des entrées du formulaire, c'est déjà en place, ce qui m'a valu une reécriture du message de Pascal ;-)

Merci encore Pétrus !

Pascale - 22-01-2005 - 12:56

default - 22-01-2005 - 15:06

Monsieur (ou madame!) "Défault" s'est bien amusé ?

C'est bien. bravo, bravo...
On va peut-être arrêter là maintenant hummm ?

Pascale - 22-01-2005 - 18:06

Haut de page

| Index | Archives | « Novembre 2004 | Fevrier 2005 » |