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
$kb
and set its value to1024
. Basically, we will use this variable in afor
loop to specify the number of iterations. - We then use the
microtime()
function at the start and end of thefor
loop to track the start/end time of the loop. - After that, we created a new variable
$deltat
that 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 thefor
loop to finish. - Finally, we will figure out the internet connection speed by dividing the
$kb
variable with$deltat
and rounding the value to 3 decimal places using theround()
function.