Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de PHP
SEÇÕES
Manuais relacionados
+Workshop de PHP
Categorias
+Scripts em PHP

Índice do Manual Workshop de PHP
+ Gestão de ficheiros através de PHP
+ Upload de ficheiros com PHP
+ Verificar a existência de uma URL
+ Leitura sequencial de ficheiros com PHP
+ Escritura em ficheiros com PHP
+ Gestão de directórios com PHP
+ Função que escreve um campo select com valores de uma base de dados
+ Receber o último ID de uma inserção com PHP e MySQL
+ Recolher dados de um Select Multiple com PHP
+ Enviar e-mails pelo PHP
+ Validar um endereço email em PHP
+ Loop para receber todas as variáveis por POST em PHP
+ Enviar um formulário por mail com PHP
+ Paginação de resultados com PHP e MySQL
+ Usuários ativos com PHP
+ Listas de elementos com cores alternas em PHP
+ Programas de livre distribuição em PHP
+ phpMyAdmin
+ Formatação de uma cadeia
+ Cálculo dos dias de um mês em PHP
+ Contador simples para páginas PHP
+ Avaliações dos usuários em PHP
+ Rastrear os robôs de buscadores
+ Recomendar um site usando PHP
+ Criação de um log de erros
+ Comprimir página PHP
+ Contador PHP com imagens
+ Editor PHP Maguma Studio
+ SiteMaps de Google em PHP
+ Teste de velocidade de conexão à Internet
+ Mostrar Conteúdo de acordo com o país em PHP
+ Conteúdos em banco de dados com PHP
+ Problemas com as datas em timestamp Unix de PHP
+ Contar o número de linhas e caracteres em arquivo PHP
+ Transformação Doc, Odt ou Rtf para PDF
+ Preencher um arquivo RTF e gerar o PDF
+ Converter arquivos ods ou xls para pdf
+ PHP isam, ferramenta Web para Arquivos Planos
+ Undefined variable ou Undefined index
+ Agregar carinhas ao sistema
+ Paginator, script para paginação com PHP e MySQL
+ Executar scripts PHP automaticamente através do cron com CURL
+ Uso do FTP com PHP
+ Instalação de One or Zero PHP Helpdesk
+ Portal PHP Nuke
+ Gerando feed RSS de notícias em PHP
+ Blasten blt-SEARCH 1.0.5
+ Classes e Objetos em PHP
+ Recuperando a qualidade de uma imagem JPEG
+ Comprovar se existe o domínio do correio
+ Tutorial de BBCode
+ Função em PHP para o cálculo de minutos transcorridos em duas horas dadas
+ Criação de gráficos em PHP com JpGraph
+ Gerar documentos de Word RTF com PHP
+ Introdução ao Symfony
+ Arredondar decimais em PHP
+ Envio de boletins a e-mails de um banco de dados MySQL
+ Htaccess e páginas dinâmicas
+ Criando imagens com PHP
+ Programar um buscador com PHP e MySQL
+ Loop para receber todos os dados de uma fila de um recordset com PHP
+ Criação de BBcode em PHP
+ Incluir feeds em sua web em 5 passos
+ Calcular dias entre duas datas com PHP
+ Exemplo de conexão com banco de dados Access em PHP
+ Utilizar Curl para copiar uma imagem de uma web em nosso disco rígido
+ Controle da saída em PHP
+ Controle de saída em PHP II
+ Mostrar código PHP de um arquivo com cores ressaltadas
+ Propagar o identificador de sessão de PHP por cookies ou URL

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Teste de velocidade de conexão à Internet

Como obter um reflexo aproximado da conexão à internet, medida em Kbps.


Estudando rapidamente os sistemas que obtém um reflexo aproximado da conexão à Internet, medida em Kbps; resolvi realizar algo similar em Php.

Qual é a utilidade?

Pode-se determinar em quanto tempo aproximado se baixa um arquivo da Internet.
Por exemplo, se estivermos elaborando uma página de downloads e quisermos mostrar ao usuário em quanto tempo APROX, estará esse arquivo em seu PC.

Na verdade é algo extremamente simples, já veremos mais adiante porquê.

Teoria Básica

É importante ressaltar que um caractere QUALQUER sempre terá um tamanho de 1 Byte, ou seja, 8 impulsos eletrônicos (8 Bit) , pelo qual uma cadeia de texto que contenha mil e vinte e quatro caracteres no total, terá uma dimensão de 1024 Bytes o que seria igual a 1 KB.

1 KB é igual a 1024 Bytes
1 MB é igual a 1024 KB
1 GB é igual a 1024 MB
1 TB é igual a 1024 GB

O código fonte:
arquivo : test.php

<?
set_time_limit(0);
$tempo_micro[1]= microtime();
$q_espacos = explode(" ",$tempo_micro[1]);
$tempo_[1]= $q_espacos[1]+$q_espacos[0];

$conteudo=file_get_contents('http://localhost/carregar_bytes.php'); /* mudar por path real (URL) http://seudominio/carregar_bytes.php)*/
$tamanho_KB= strlen($conteudo)/1024;

$tempo_micro[2] = microtime();
$q_espacos= explode(" ",$tempo_micro[2]);
$tempo_[2] =$q_espacos[1] + $q_espacos[0];
$tempo_utilizado = number_format(($tempo_[2] - $tempo_[1]),3, "." ,",");

$velocidade= round($tamanho_KB/$tempo_utilizado,2);
echo 'Sua velocidade de conexão é de: '.$velocidade.' Kbps <br> Foram enviados:'.$tamanho_KB.
' Kb, Tempo utilizado: '.$tempo_utilizado.' Segundos <hr>';

for ($i=10; $i>=1; $i--){
$val_Kb=$i*100;
if($velocidade>=800)$velocidade_=800;
else $velocidade_=$velocidade/2;

if($velocidade>=$val_Kb && !$col){
echo '<div style="background-color:#F0F0F0; width:500px; float:left"><img width="'.($velocidade_).'" height="8" style="background-color: #FF0000" border="0"></div><strong>Sua conexão</strong><br>';
$col=true;
}
echo '<div style="background-color:#F0F0F0; width:500px; float:left"><img width="'.($val_Kb/2).'" height="8" style="background-color: #000099" border="0"></div>'.$val_Kb.' Kbps<br>';
}
?>


arquivo : carregar_bytes.php

<?
print str_repeat("i",1024000);
?>


Explicando:

Criamos o arquivo carregar_bytes.php, que conterá unicamente um processo aleatório de repetições até alcançar o valor de 1024000, 1000 KB, utilizando a função str_repeat(); que funciona como algo parecido a um loop. Repetirá 1024000, a letra i

Chamaremos o arquivo test.php,

Primeiro, utilizaremos a função set_time_limit(), para indicar que não há limite no tempo de execução do script, lembremos que por default vem no php.ini 30 segundos, e se este tempo for alcançado será produzido um erro fatal de tempo de execução.

Obtemos o tempo nesse instante em milésimos de segundos

Logo, faremos uma abertura do arquivo anterior e obtemos o conteúdo, mediante a função file_get_contents(), cabe destacar que o parâmetro que devemos utilizar deve seguir o esquema: protocol:// para que seja tomado como uma URL e se extraia o resultado do processo repetido anteriormente, do contrário se assumirá que o arquivo é local e se executará o código fonte diretamente: ou seja devemos colocar;

file_get_contents('http://odominio/carregar_bytes.php'), para que funcione corretamente.
Porém, não imprimiremos na tela o conteúdo, somente o carregaremos.
Agrupamos na variável $tamanho_KB, a longitude de caracteres de $conteudo, e o dividimos entre 1024; para passá-lo de BYTES A KB.

Quanto à abertura, voltamos a obter o tempo em milésimos de segundos para verificar quanto tempo transcorreu durante a execução do passo anterior e agrupamos esse valor na variável $tempo_utilizado, lhe damos formato com a função number_format();

Obtemos a velocidade em KBPS, dividindo o total de KB carregados, entre o tempo empregado;
Por exemplo, se: 100 Kb, são carregados em 2 segundos, a velocidade nesse instante é de 50 Kbps, mas ode variar dependendo de muitos fatores.

Imprimimos o resultado, e geramos um atraente esquema visual.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de PHP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Scripts em PHP


Comentário sem rever
Entre os comentários não revistos podem ter alguns interessantes que tenham sido enviado recentemente.
 Foram econtrados 4 comentários sem rever

VerVer os comentários não revistos



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites