Webmaster общности: Predpriemach.com | SearchEngines.bg

    Време за изпълнение на PHP скрипт.

    В тази статия ще ви разкажем за това, как да засечете времето за изпълнение на вашите PHP кодове. Може би вече сте забелязали някъде (например в този сайт) малък надпис най-отдолу в страницата: „Генериране на страницата: 2.130 секунди“. Това нещо можете да го постигнете с помощта на три функции.

    1) Функция
    string microtime(void)
    Връща ред от типа „msec sec“,
    където msec – е количеството милисекунди
    и sec – текущото време в секунди от началото на епохата на UNIX (0:00:00 January 1, 1970 GMT)
    Тази функция работи само в операционни системи поддържащи системната заявка gettimeofday().

    2) Функция
    array explode(string separator, string string [, int limit])
    Разделя стойността string в съответствие с разделителя separator и записва всички части (или не всички, ако е указано количеството части limit) в масив, който функцията извежда в качеството на резултат.

    3) Функция
    void printf (string format [, mixed args])
    Тази функция е напълно аналогична със своята C версия. Тя извежда аргументите (args), по зададен формат format
    Параметри:
    format – формат за извеждане на данните
    args – аргументи за форматиране

    И така, сега ще разгледаме логиката.
    Какво трябва да направим ?
    Трябва ни времето което искаме да засечем, преди изпълнение на кода – това време ще го считаме за текущо. След изпълнението на кода, трябва отново да засечем времето и да го изведем на страницата.

    Пишем следните редове в самото начало на вашият PHP скрипт:

    //Засичаме текущото време
    $mtime = microtime();
    //Разделяме секундите и милисекундите
    $mtime = explode(" ",$mtime);
    //Съставяме едно число от секунди и милисекунди
    $mtime = $mtime[1] + $mtime[0];
    //Записваме стартовото време в променливата
    $tstart = $mtime;
    
    Сега най-накрая, след кода е времето след изпълнение, което трябва да засечем. Пишем следното:
    
    //Правим това за да получим текущото време
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    //Записваме времето след изпълнение на кода в друга променлива
    $tend = $mtime;
    //Изчисляваме разликата
    $totaltime = ($tend - $tstart);
    //Извеждаме резултата на екрана
    printf ("Генериране на страницата: %f секунди", $totaltime);

    Обърнете внимание, че простото извеждане с помощта на print или echo в дадения случай не е подходящо, тъй като работим с променлива от нецелочислен тип, трябва задължително да укажем формата за извеждане на тази променлива.