In this tutorial, you will learn how to test/detect your internet connection speed using the latest PHP version.
First of all, create a new PHP file index.php and add the following code to it. After that open this file using a server like Apache, Nginx, etc. As you probably want to test this script in a development environment so I would recommend you to use XAMPP.
index.php
<?php
$kb = 1024;
echo "Streaming $kb Kb...<!-";
flush();
$time = explode(" ",microtime());
$start = $time[0] + $time[1];
for($x = 0; $x < $kb; $x++)
{
echo str_pad('', 1024, '.');
flush();
}
$time = explode(" ",microtime());
$finish = $time[0] + $time[1];
$deltat = $finish - $start;
echo "-><br />Test finished in $deltat seconds<br />";
echo "Your internet speed is ". round($kb / $deltat, 3)."Kb/s";
?>Code Explanation
- Create a new integer variable
$kband set its value to1024. Basically, we will use this variable in aforloop to specify the number of iterations. - We then use the
microtime()function at the start and end of theforloop to track the start/end time of the loop. - After that, we created a new variable
$deltatthat will hold the value of “loop finish time” minus “loop start time”. It means that this variable will tell us how much time was taken by theforloop to finish. - Finally, we will figure out the internet connection speed by dividing the
$kbvariable with$deltatand rounding the value to 3 decimal places using theround()function.