PHP Script to Test/Detect Internet Speed

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

  1. Create a new integer variable $kb and set its value to 1024. Basically, we will use this variable in a for loop to specify the number of iterations.
  2. We then use the microtime() function at the start and end of the for loop to track the start/end time of the loop.
  3. 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 the for loop to finish.
  4. 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 the round() function.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.