www.romver.ru
/ Полный список статей / Page time generated

Как заказать сайт


АБРАКАДАБРА (Тоже самое но в читаемом виде)

V etom nebol'6oy stat'e a xo4u rasskazat' vam, kak zase4' vrema vipolnenia va6ego koda na PHP. Mnogie nazivaut etot priem pods4etom vremeni generacii stranici (Page time generated). Mne eto nazvanie takje pri6los' po du6e, tak 4to v dal'ney6em budu upotreblat' ego 4a6e.

Ne govorite mne, 4to vi ni razu ne videli primerno takoy nadpisi na saytax:

Stranica sgenerirovana za 0.235467 sekund

ili

Page time generated in 0.235467 seconds

ili

kak u mena na sayte PTG 0,0391 s.

Prikol'naa ve6', odnako. Ne o6ibus', esli vi toje xotite realizovat' eё na svoem sayte? Xotite - togda poexali. Sna4ala ob&asnu logiku raboti takoy fi6ki. Ona o4en' prosta:

  • Pered vipolneniem togo koda, kotoriy mi xotim zase4', s4itivaem teku6ee vrema.
  • Posle vipolnenia koda, opat' je s4itivaem teku6ee vrema i vivodim raznicu polu4iv6ixsa vremen.

Rekomenduu srazu 4asti skripta, otve4au6ie za pods4et vremeni v na4ale i v konce koda, sootvetstvenno, vinesti v otdel'nie fayli i vstavlat' ix po mere neobxodimosti.

Itak, kod skripta start.php, kotoriy pods4itivaet teku6ee vrema (vstavlat' v tom meste, otkuda na4inaem pods4et, t.e. gde-to v na4ale stranici).
<?

#------ fayl start.php

// s4itivaem teku6ee vrema

$start_time = microtime();

// razdelaem sekundi i millisekundi (stanovatsa zna4eniami na4al'nix klu4ey massiva-spiska)

$start_array = explode(" ",$start_time);

// eto i est' startovoe vrema

$start_time = $start_array[1] + $start_array[0];

?>

Startovoe vrema pods4itali. Teper' kod fayla end.php, kotoriy takje pods4itivaet teku6ee vrema, a zatem vivodit raznost' etogo vremeni ot pods4itannogo v fayle start.php, t.e., po suti dela, i vivodit vrema generacii stranici.
<?

#------ fayl end.php

// delaem to je, 4to i v start.php, tol'ko ispol'zuem drugie peremennie

$end_time = microtime();

$end_array = explode(" ",$end_time);

$end_time = $end_array[1] + $end_array[0];

// vi4itaem iz kone4nogo vremeni na4al'noe

$time = $end_time - $start_time;

// vivodim v vixodnoy potok (brouzer) vrema generacii stranici

printf("Stranica sgenerirovana za %f sekund",$time);

?>

V principe, vse. Fayl start.php vstavlayte tuda, otkuda xotite na4inat' zasekat' vrema; end.php - gde zaxotite "ostanovit' va6 sekundomer". Vstavki faylov mojete osu6estvlat', k primeru, instrukciey include();

Delo sdelano... odnako, navernaka vi xotite razobrat'sa, kak je rabotaet to, 4to mi napisali. Li4no a ne lublu uzat' 4ujie narabotki v principe. A esli i uzau, to, obazatel'no razobrav6is' v ix rabote. Dalee ob&asnu vam, dla 4ego slujat funkcii, kotorie mi primenali v primerax i dam neskol'ko sovetov.

Funkcii, ispol'zovav6iesa v primerax

  • string microtime() - vozvra6aet stroku v formate: "mikrosekundi sekundi", v kotoroy sekundi - timestamp, vozvra6aemiy funkciey time(), a mikrosekundi - drobnaa 4ast' sekund, sluja6aasa dla bolee to4nogo izmerenia promejutkov vremeni. Funkcia rabotaet tol'ko v sistemax, kotorie podderjivaut sistemniy vizov gettimeofday(), t.e. prakti4eski vo vsex.

    • Zame4anie: timestamp - format vremeni, kotoriy ravnaetsa "kol-vu sekund, pro6ed6ix s poluno4i 1 anvara 1970 goda po Grinvi4u do nastoa6ego momenta". Etot format dannix prinat v osax UNIX, kak standartniy. Universal'noe i udobnoe predstavlenie, s kotorim vi e6e ne raz stolknetes'.

  • array explode(string separator, string string [, int limit]) - polu4aet stroku, zadannuu v eё vtorom argumente i pitaetsa nayti v ney podstroki, ravnie pervomu argumentu. Zatem po mestu vxojdenia etix podstrok stroka "razrezaetsa" na 4asti, pome6aemie v massiv-spisok, kotoriy i vozvra6aetsa. Esli zadan parametr limit, to u4itivautsa tol'ko pervie limit-1 u4astkov "razreza". Takim obrazom, vozvra6aetsa spisok iz ne bolee 4em limit elementov.

    • Zame4anie: string implode(string glue, array pieces) (sinonim - join()) - f-i, polnost'u protivopolojnie po zna4eniu f-i explode(). Oni berut associativniy massiv (kak pravilo, eto spisok) pieces i skleivaut ego zna4eniu v edinuu stroku pri pomo6i "stroki-klea" glue.

  • void printf (string format [, mixed args]) - f-a, polnost'u analogi4naa svoey C versii. Ona vivodit v brouzer stroku, sostavlennuu na osnove stroki formatirovania, soderja6ey nekotorie special'nie simvoli, kotorie budut vposledstvii zameneni na zna4enia sootvetstvuu6ix peremennix iz spiska argumentov. Parametri:

    format - strokovoy format vivoda dannix

    args - argumenti dla formatirovania

    A ne budu podrobno ostanavlivat'sa na etoy funkcii, tak kak eё polnoe opisanie dostato4no ob&emnoe (nu ne tak uj 4tobi...), da i sama funkcia o4en' mo6naa (medlitel'naa v tom 4isle). Skaju li6', 4to v na6em slu4ae mi ispol'zuem eё dla togo, 4tobi pri vivode preobrazovat' polu4iv6eesa "vrema generacii stranici" do 4isla s plavau6ey to4koy (x.xxxxxx). T.e. 4tobi posle to4ki soderjalos' ne bolee 6 simvolov.

    • Zame4anie: mojno bilo i vospol'zovat'sa prostim vizovom funkcii tipa echo() ili print(). Odnako v etom slu4ae, vivedetsa 4islo s bol'6im koli4estvom cifr posle plavau6ey to4ki!

Soveti (a to4nee sovet=)

  • Primeri mojno ispol'zovat' dla zasekania vipolnenia lubogo skriptovogo fragmenta. T.e., sovsem neobazatel'no to, 4to na sayte zasekaetsa polnost'u generacia dinami4noy stranici. Nekotorie muxluut, zasekaa voob6e ne ponatno 4to; poetomu ne prixodit'sa udivlat'sa, 4to sayt, gruza6iysa so skorost'u tarakana, sgenerirovan za udivitel'no maloe vrema. V principe, vrema generacii i vrema vivoda stranici - sovsem raznie ve6i.
Vot, pojaluy i vse, 4to a xotel vam rasskazat' otnositel'no etoy temi.


Создание эксклюзивных сайтов, юзибилити анализ и бесплатный анализ под запросы основных поисковых машин
Контактная информация :
тел. +7(901) 370-1796

Написать письмо на e-mail
icq 415547094  romverрейтинг на mail.ru сайта romverinbox.ru
© 1997 - 2017 romver.ru

Полная карта сайта Display Pagerank  
CMS version 3.6.3 | PTG 0.0248 s.