Estudiando rápidamente los sistemas que obtienen un reflejo aproximado de la conexión a Internet, medida en Kbps; se me ocurrió realizar algo similar en PHP.
¿Cual es la utilidad?
Se puede determinar en cuanto tiempo aproximado se descargara un archivo de Internet.
Por ejemplo, si estamos elaborando una página de descargas y queremos mostrarle al usuario en cuanto tiempo APROX, estará ese archivo en su PC.
En realidad algo extremadamente sencillo ya veremos más adelante porque.
Teoría Básica
Es importante resaltar que un carácter CUALQUIERA siempre tendrá un tamaño de 1 Byte, es decir 8 impulsos electrónicos ( 8 Bit) , por lo cual una cadena de texto que contenga mil veinticuatro caracteres en total, tendrá una dimensión de 1024 Bytes lo que seria igual a 1 KB.
1 KB es igual 1024 Bytes
1 MB es igual a 1024 KB
1 GB es igual a 1024 MB
1 TB es igual a 1024 GB
El código fuente:
archivo : test.php
<?php
set_time_limit ( 0 ) ;
$tiempo_micro [ 1 ] =
microtime ( ) ;
$q_espacios =
explode ( " " , $tiempo_micro [ 1 ] ) ;
$tiempo_ [ 1 ] = $q_espacios [ 1 ] + $q_espacios [ 0 ] ;
$contenido =
file_get_contents ( 'http://localhost/cargar_bytes.php' ) ;
/* cambiar por path real (URL) http://tudominio/cargar_bytes.php)*/ $tamano_KB =
strlen ( $contenido ) / 1024 ;
$tiempo_micro [ 2 ] =
microtime ( ) ;
$q_espacios =
explode ( " " , $tiempo_micro [ 2 ] ) ;
$tiempo_ [ 2 ] = $q_espacios [ 1 ] + $q_espacios [ 0 ] ;
$tiempo_utilizado =
number_format ( ( $tiempo_ [ 2 ] - $tiempo_ [ 1 ] ) , 3 , "." , "," ) ;
$velocidad =
round ( $tamano_KB / $tiempo_utilizado , 2 ) ;
echo 'Su velocidad de conexión es de: ' . $velocidad . ' Kbps Se enviarón:' . $tamano_KB . ' Kb, Tiempo utilizado: ' . $tiempo_utilizado . ' Segundos <hr>' ;
for ( $i = 10 ;
$i >= 1 ;
$i -- ) { $val_Kb = $i * 100 ;
if ( $velocidad >= 800 ) $velocidad_ = 800 ;
else $velocidad_ = $velocidad / 2 ;
if ( $velocidad >= $val_Kb && ! $col ) {
echo '<div style="background-color:#F0F0F0; width:500px; float:left">' ;
echo '<img width="' . ( $velocidad_ ) . '" height="8" style="background-color: #FF0000" border="0">' ;
echo '</div><b>Su conexión</b><br />' ;
$col = true ;
}
echo '<div style="background-color:#F0F0F0; width:500px; float:left">' ;
echo '<img width="' . ( $val_Kb / 2 ) . '" height="8" style="background-color: #000099" border="0">' ;
echo '</div>' . $val_Kb . ' Kbps<br />' ;
} ?>
archivo : cargar_bytes.php
<?php
echo str_repeat ( "i" , 1024000 ) ;
?>
Usuarios que han visto este tema también han visto...
- Mostrar Fecha y Hora con PHP
- Funciones en PHP
- Creación de gráficas en PHP con JpGraph
- Redirección PHP 301 y 302
- Como generar un Thumbnail en PHP usando GD
- Versión imprimible de este documento
- Enviar por e-mail este documento