<?PHP

/* 
Script que mide la velocidad de descarga de un archivo
calculando cuando ha "crecido" el archivo en 1 segundo.

El script esta pensando para consola y se le pasa el
nombre de archivo como argumento.
*/

$archivo $_SERVER['argv'][1];

if (!
file_exists($archivo)) { echo 'El archivo no existe'; exit; }
    
$bucle true$time_final 0$tamanyo_final 0;

while(
$bucle) { 
    
    
$time_inicial $time_final;
    
$tamanyo_inicial $tamanyo_final;
    
$media_anterior $media;
    
    
sleep(1);

    
$microtime explode(' ',microtime());
    
$time_final $microtime[0]+$microtime[1];
    
clearstatcache();
    
$tamanyo_final filesize($archivo);
    
    
$tiempo = (double)$time_final-(double)$time_inicial;
    
$tamayo $tamanyo_final-$tamanyo_inicial;
    
$velocidad $tamayo/(double)$tiempo;
    
$velocidad_kb number_format($velocidad/10242',''.');
    
$media = ($media_anterior+$velocidad)/2;
    
$media_kb number_format($media/10242',''.');
    
    echo 
'Velocidad: '.$velocidad_kb."Kb ";
    echo 
'Media: '.$media_kb."Kb \n";
    
    if (
$tamayo == 0) { echo 'Descarga finalizada'$bucle false; } 
}

// http://www.fitti.org/index.php/2006/02/17/medir-velocidad-de-descarga/

?>