Il peut être intéressant d'afficher le temps d'exécution d'une page pour voir si le code s'exécute rapidement ou pas.
C'est dur?
Non (sauf si vous ne savez pas faire des calculs de primaire).Comment faire?
C'est simple, il suffit de récupérer le temps au début et à la fin de la page, d'en faire la différence et de l'afficher.On va utiliser la fonction time()?
Non car cette fonction ne renvoie qu'un nombre de secondes et comme votre serveur est une bête de compétion il ne lui faudra qu'une fraction de seconde pour interprèter vos scripts! Nous allons plutôt utiliser la fonction microtime() qui renvore le nombre de milisecondes.Pourtant, il y a certaines pages qui mettent plusieures secondes avant de s'afficher?
C'est normal. En fait, le serveur a exécuté la page en quelques instants mais c'est le téléchargement de celle-ci qui est un peu plus long. Tapons maintenant ceci dans un fichier PHP pour voir ce que la fonction microtime affiche: Qu'est-ce qui s'affiche???Je suis perdu, je n'ai rien compris!
Ce n'est pas grave, je vais expliquer plus en détail. Nous allons mettre au début de la page une fonction qui va récupérer le temps et la stocker dans une variables. Ensuite, on ne s'en inquiète plus et on tape son code HTML commme d'habitude! Arrivés à la fin du ficher, on remet la même fonction qui recherche le temps et le stocke dans une autre variable. Pour l'instant, on a deux variables. Pour avoir le temps, on va prendre la variable temps de la fin du fichier et la soustraire à la variable temps du début du ficher pour avoir l'intervalle de temps écoulé (la durée de création de la page). Il suffit alors de l'afficher avec un echo.Mais comment on fait pour mettre les deux groupes de chiffres dans des variables différentes pour pouvoir les additionner?
Vous saviez déjà qu'il fallait mettre les deux groupes dans des variables??? Bravo! C'est en effet ce que nous allons faire. Nous allons utiliser une fonction qui va prendre les deux groupes et les stocker dans un array. Une fois que nous aurons ces deux données séparées, il suffit de les additioner et le plus dur est fait!
$execution = microtime();
$execution = explode(' ',$execution);
$execution_debut = $execution[1]+$execution[0];
<?php
$execution = microtime();
$execution = explode(' ',$execution);
$execution_debut = $execution[1]+$execution[0];
?>
<html>
...Suite du code en HTML...
<?php
$execution = microtime();
$execution = explode(' ',$execution);
$execution_fin = $execution[1]+$execution[0];
$temps = $execution_fin-$execution_debut;
echo'Page générée en'.$temps.'secondes.';
?>
</body></html>
C'est génial, le temps s'affiche! Mais j'ai des tonnes de chiffres après la virgule ! Il n'y a pas moyen de les limiter?
Bien sûr que si! Pour ce faire, il vous suffit de rajouter cette ligne avant le echo:
$temps = round(($temps),4);