[Php] Temps de page génerée

  • Créateur du sujet Membre supprimé 2
  • Date de début
M

Membre supprimé 2

Invité
Bonjour,

J'essaie d'installer ce script PHP5 sur l'une de mes pages.

Bloc de code:
[B]<?php[/B]
[COLOR="Blue"]$temps_debut[/COLOR] = microtime([B]true[/B]);
[COLOR="DimGray"]/* Du code ... */[/COLOR]
[COLOR="blue"]$temps_fin [/COLOR]= microtime([B]true[/B]);
echo '[COLOR="Magenta"]Temps d'execution[/COLOR] : '.round([COLOR="blue"]$temps_fin - $temps_debut[/COLOR], 4);
[B]?>[/B]

J'ai placé la première partie du script au début de mon body, et la seconde partie à la fin (footer).

Mais mon serveur sur Free m'indique l'erreur suivante:
Bloc de code:
Parse error: syntax error, unexpected '<' in /mnt/118/free.fr/3/1/-anonyme-/test.php on line 44

J'ai oublier quelque chose, mais je ne vois pas :confused:
Merci de votre aide.
 
Dernière édition par un modérateur:
En local/php5 chez moi, ton script ne marche pas, par contre il fonctionne avec les guillemets comme ceci :

Bloc de code:
 echo "Temps d'execution : ".round($temps_fin - $temps_debut, 4);

;)
 
gloup gloup a dit:
En local/php5 chez moi, ton script ne marche pas, par contre il fonctionne avec les guillemets comme ceci :

Bloc de code:
 echo "Temps d'execution : ".round($temps_fin - $temps_debut, 4);

;)

ou avec un backslash devant l'apostrophe : d\'execution, sinon PHP crois que c'est la fin de la chaîne.

mais apparemment ton erreur est à cause d'un < à la ligne 44, peut-on voir cette ligne, ou le bloque qui la contient ??
 
gloup gloup a dit:
:rose::siffle: Peux pas bouler crotte!
toi aussi t'es "vous devriez en donnez &#224; d'autre avant d'en donner &#224; gloup gloup etc etc" :eek:



:rateau:


PIAF : je viens de voir que tu n'es pas dans les 15 dernier boulage que j'ai effectu&#233;, et je ne peux toujours pas te rebouler... :nailbiting:
 
Merci à tous les 2.

J'ai modifié le code, qui affiche bien le temps.
Truk2oof: l'antislash apparait en revanche dans le résultat. :confused:
Ce dont je doute, c'est l'emplacement de ce code.
Dois-je mettre les 2 parties respectivement avant le <doctype> et après le </html> ?
Et vu que je veux afficher ce résultat dans le contenu, comment intégrer echo 'Temps d'execution : '.round($temps_fin - $temps_debut, 4); dans mon contenu Html :confused:
Merci et désolé pour mes lacunes.
 
tumb a dit:
Merci à tous les 2.

J'ai modifié le code, qui affiche bien le temps.
Truk2oof: l'antislash apparait en revanche dans le résultat. :confused:
Ce dont je doute, c'est l'emplacement de ce code.
Dois-je mettre les 2 parties respectivement avant le <doctype> et après le </html> ?
Et vu que je veux afficher ce résultat dans le contenu, comment intégrer echo 'Temps d'execution : '.round($temps_fin - $temps_debut, 4); dans mon contenu Html :confused:
Merci et désolé pour mes lacunes.
si tu utilise des simplequote (') alors le back-slash n'apparait pas, si tu utilise des doublequote, alors pas besoin du backslash.

la premi&#232;re partie, met la en tout d&#233;but de fichier, la seconde essaye de la mettre le plus pas possible, mais forcement avant d'afficher l'info en html.
C'est dommage mais il n'y a pas d'autre solution... :zen:
 
j'ai jamais aim&#233; ce merdeux de guitariste

:D

Bloc de code:
[B][COLOR=Purple]echo[/COLOR] [COLOR=DarkGreen]"[/COLOR][COLOR=DarkGreen]Temps d'execution : "[/COLOR].[COLOR=Purple]round[/COLOR]([COLOR=blue][COLOR=Black]$end[/COLOR] - [COLOR=Black]$begin[/COLOR][/COLOR], [COLOR=Red]4[/COLOR]);[/B]
'' n'est pas ""
 
tatouille a dit:
j'ai jamais aimé ce merdeux de guitariste

:D

Bloc de code:
[B][COLOR=Purple]echo[/COLOR] [COLOR=DarkGreen]"[/COLOR][COLOR=DarkGreen]Temps d'execution : "[/COLOR].[COLOR=Purple]round[/COLOR]([COLOR=blue][COLOR=Black]$end[/COLOR] - [COLOR=Black]$begin[/COLOR][/COLOR], [COLOR=Red]4[/COLOR]);[/B]
'' n'est pas ""
ouais sauf qu'au niveau optimisation du code vaut mieux utiliser '' que "" : quand c'est "" php analyse le contenu de la chaîne pour voir si il n'y a pas de variable etc...

Avec '' faut faire ''.$var.'', mais la concaténation de chaîne est aussi une opération plus lente, donc préférer '',$var,'' quand cela est possible (dans ce cas la par exemple)
en plus quand on utilise '' pas besoin de backslashé les " de html.

alors le plus optimisé c'est :
Bloc de code:
[B][COLOR=Purple]echo[/COLOR] [COLOR=DarkGreen]'Temps d\'execution : '[/COLOR], [COLOR=Purple]round[/COLOR]([COLOR=Black]$end[/COLOR] [COLOR=blue]-[/COLOR] [COLOR=Black]$begin[/COLOR], [COLOR=Red]4[/COLOR]);[/B]

:p
 
Bloc de code:
<?PHP
###MACGE###############################
$begin = microtime(true);
###MACGE###############################
 
###TATOUILLE###############################

##################################
$run_cycles = 1000;
echo "\n$::::$\n\n";
$proctime_start=microtime(); # time calculation start-point
##################################
# One time executions

##################################
for ($pt_count = 0; $pt_count < $run_cycles; $pt_count++){
##################################
# The actual test-cycle


    $CollectedSettingsString = rand(0,300);
    $str = strrev((string)decbin($CollectedSettingsString));
    
    for( $i = 0; $i < strlen( $str ); $i++ ){
        $var = pow( 2, $i );
        $SetArgumentsArray[$var] = ( $str[$i] == 1 ) ? 'set' : 'unset';
    }
    print_r($SetArgumentsArray);


##################################
} // for
##################################

list($usec_e, $sec_e) = explode(" ",microtime()); # time calculation end-point
list($usec_s, $sec_s) = explode(" ",$proctime_start);
$proctime_start = $usec_s+$sec_s;
$proctime_end = $usec_e+$sec_e;
$proctime = $proctime_end-$proctime_start;
echo "\n\n$::::$ ";
echo "Processing time: ".substr($proctime,0,7)."\n\n";
##################################

###TATOUILLE###############################

###MACGE###############################
$end = microtime(true);
echo "Temps d'execution : ".round($end - $begin, 4)."\n\n";
###MACGE###############################
 
?>
 
tatouille a dit:
Bloc de code:
<?PHP
###MACGE###############################
$begin = microtime(true);
###MACGE###############################
 
###TATOUILLE###############################

##################################
$run_cycles = 1000;
echo "\n$::::$\n\n";
$proctime_start=microtime(); # time calculation start-point
##################################
# One time executions

##################################
for ($pt_count = 0; $pt_count < $run_cycles; $pt_count++){
##################################
# The actual test-cycle


    $CollectedSettingsString = rand(0,300);
    $str = strrev((string)decbin($CollectedSettingsString));
    
    for( $i = 0; $i < strlen( $str ); $i++ ){
        $var = pow( 2, $i );
        $SetArgumentsArray[$var] = ( $str[$i] == 1 ) ? 'set' : 'unset';
    }
    print_r($SetArgumentsArray);


##################################
} // for
##################################

list($usec_e, $sec_e) = explode(" ",microtime()); # time calculation end-point
list($usec_s, $sec_s) = explode(" ",$proctime_start);
$proctime_start = $usec_s+$sec_s;
$proctime_end = $usec_e+$sec_e;
$proctime = $proctime_end-$proctime_start;
echo "\n\n$::::$ ";
echo "Processing time: ".substr($proctime,0,7)."\n\n";
##################################

###TATOUILLE###############################

###MACGE###############################
$end = microtime(true);
echo "Temps d'execution : ".round($end - $begin, 4)."\n\n";
###MACGE###############################
 
?>
je comprend pas l'int&#233;r&#234;t de ton script... :confused: peux-tu nous mettre une explication ?

&#231;a sert quand m&#234;me pas juste &#224; &#234;tre long &#224; ex&#233;cuter ?