Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Test de velocidad de conexión a Internet en PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Test de velocidad de conexión a Internet en PHP

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...

- Reporte de errores en PHP
- Separar cadenas en partes con PHP
- Paginador PHP usando pear y templates
- Rápida introducción al PHP
- Generar documentos OpenOffice con PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 13-02-2012 a las 09:58:59