Anda mungkin sering melihat beberapa halaman website (termasuk dalam Forum Informatika) menampilkan sebuah pesan, biasanya pada bagian bawah halaman, yaitu berupa tulisan
"Page created in ... seconds with ... queries" atau
"Page loaded in ... secs" atau semacamnya. Kalau kita terjemahkan ke dalam bahasa Indonesia, yaitu
"Halaman dipanggil dalam ... detik".
Bagaimana cara memperolehnya, yaitu dengan menggunakan fungsi PHP
microtime().
Pada awal blok kode PHP silakan diawali dengan potongan kode berikut:
$waktu_mikro = explode(" ",microtime());
$waktu_mikro = $waktu_mikro[1] + $waktu_mikro[0];
$waktu_mulai = $waktu_mikro;
Menjelang akhir blok kode, silakan letakkan potongan kode berikut:
$jml_desimal = 5; // Jumlah angka di belakang koma
$waktu_mikro = explode(" ",microtime());
$waktu_mikro = $waktu_mikro[1] + $waktu_mikro[0];
$waktu_selesai = $waktu_mikro;
echo "Halaman dipanggil dalam ". round(($waktu_selesai - $waktu_mulai),$jml_desimal) ." detik";
Fungsi microtime() mengembalikan waktu terkini (timestamp) Unix, yaitu dalam bentuk "msec sec", dimana sec adalah waktu terkini yang diukur dalam satuan detik yaitu dalam format Unix Epoch (0:00:00 January 1, 1970 GMT), dan msec adalah bagian milliseconds (milidetik).
Kita manipulasi string yang ada untuk dapat memberikan pada kita sebuah waktu mulai dan waktu selesai, dan langsung kita ekstrak salah satunya untuk memberikan pada kita waktu loading halamannya.
Agar waktu yang dihasilkan agak lama, maka sedikit kita modifikasi dengan memberikan looping mulai 1 sampai 3 juta, Anda bisa memodifikasinya lebih lanjut.
Berikut contoh kode lengkapnya:
<?php
// Courtesy of Forum Informatika - http://if.web.id
$waktu_mikro = explode(" ",microtime());
$waktu_mikro = $waktu_mikro[1] + $waktu_mikro[0];
$waktu_mulai = $waktu_mikro;
// Looping, biar agak lama waktunya
$ulangan = 3000000;
for ($i = 1; $i <= $ulangan; $i++);
$jml_desimal = 5; // Jumlah angka di belakang koma
$waktu_mikro = explode(" ",microtime());
$waktu_mikro = $waktu_mikro[1] + $waktu_mikro[0];
$waktu_selesai = $waktu_mikro;
echo "Looping mulai dari 1 sampai " . $ulangan . " < br/>";
echo "Halaman dipanggil dalam ". round(($waktu_selesai - $waktu_mulai),$jml_desimal) ." detik";
?> 