Seguindo indicação de um comentário da semana passada, acabamos de instalar em todos os servidores LINUX de CLIENTES, o modulo uploadprogress. Durante a semana que se inicia, será feita a replicação para os servidores de revenda LINUX.
O texto abaixo foi copiado do Blog do Lourenzo: lourenzo.blog.br
Adicione um campo oculto bem no início do seu formulário de upload (isso é importante) , com o nome de UPLOAD_IDENTIFIER. O valor para esse campo deve combinar com a expressão regular “^[A-Za-z0-9_.-=]{1,64}$” , ou seja, possuir de 1 a 64 caracteres alfanuméricos, sendo que as letras podem ser maiúsculas ou minúsculas. Além disso, o valor deve ser único para cada upload.
Exemplo:4) Agora vem a parte da diversão… Mostrar a barra de progresso.
Vou descrever uma maneira bem simples de fazer isso, deixando bem claro que é possível fazer isso com muito mais requinte.Quando o formulário for submetido, abra um popup aproveitando a ação do usuário (o click pode ajudar seu popup a não ser bloqueado) para mostrar o progresso. Essa janela deve ser atualizada repetidamente de poucos em poucos segundos, chamando um script que irá tratar os dados e exibir as informações, e gerar um medidor.
Esse script chama a função uploadprogress_get_info($id), onde $id é o valor do campo UPLOAD_IDENTIFIER do seu formulário. A função retornará falso caso não haja um upload relacionado, ou um array de informações sobre o upload. O array contém:
- time_start
- Data/Hora do início do upload (no mesmo formato da função time()).
- time_last
- Data/Hora da última atualização do progress de upload.
- speed_average
- Velocidade média. (bytes / segundo)
- speed_last
- Última velocidade medida. (bytes / segundo)
- bytes_uploaded
- Número de bytes recebidos pelo servidor até o momento.
- bytes_total
- O valor do cabeçalho HTTP “
Content-Length” enviado pelo navegador.- files_uploaded
- Número de arquivos já recebidos pelo servidor.
- est_sec
- Número estimado de segundos restantes para o término do processo de upload.
O valor speed_average é medido com base no número de bytes obtidos pelo servidor desde o início do upload, enquanto speed_last é baseado no número de bytes enviados desde a última atualização no progresso do upload. A informação sobre o progresso é atualizada cada vez que o PHP obtêm mais dados do cliente, então speed_last pode não ser muito preciso.
Nota 1) O valor bytes_total NÃO é reflexo do tamanho real do arquivo, mas sim do tamanho do REQUEST POST, que pode ser maior que o tamanho real do arquivo transferido.
Nota 2) Esse módulo realmente detecta apenas quanto do formulário com método POST foi recebido pelo servidor, e mantém uma contagem de quantas variáveis POST do tipo ‘file’ vão sendo encontradas. Então quando forem enviados vários arquivos em um mesmo formulário, não é possível fazer uma medição de progresso para cada arquivo, mas é possível obter a contagem de quantos arquivos já foram completamente transferidos.
Gostei muito disso, a muito tempo venho procurando hospedagem que disponibilizasse isso. Como já sou cliente, vou poder oferecer uma melhor ferramenta para ele, especialmente para enviar vídeos e utilizar o ffmpeg (se necessário). Obrigado KingHost.
Já eu, ao contrário, não procurava uma solução como esta. E este é o diferencial da KingHost: Lançar serviços que surpreendem o cliente e tornam o serviço cada vez mais completo! É por isto que eu (e meus clientes de revenda) faço parte da KingHost e não troco por nada!
Muito boa a solução, realmente a Kinghost tem me deixado satisfeito como os serviços, só acho que poderia melhorar um pouquinho os planos de revenda com relação à tamanho.
Muito bom, excelente!
Eu queria este recurso a muito muito tempo..
Estou tentando implementar um código exemplo para teste mas ele não esta funcionando.. mas vou entrar em contato com o suporte da kinghost
Ola pessoal seria que teria um exemplo (script) completo para mostrar?
obrigado
Amigos, recomendo disponibilizar codificação para testes, é a melhor forma de ajudar os usuáios da Kinghost.
Muito Bom
valeu Kinghost