De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: José de Lima Junior
Data de Publicação: 04 de Outubro de 2009
Como PHP pode ser utilizado em linha de comando e os scripts podem demorar a terminar o processamento, em certos momentos, faz-se necessário mostrar ao usuário como está o andamento da execução do script.
O código em PHP abaixo, implementa uma barra de progresso que pode auxiliar visualmente a demonstração do andamento do processamento do script.
Note que o funcionamento deste script deve-se, principalmente, ao "\r" no comando printf. Portanto, nada impede que esta funcionalidade seja implementada em outras linguagens de script, com por exemplo shell script.
<?php $maximo = 10000; $colunas = 90; $progresso = new BarraProgresso($maximo); $progresso->setColunas($colunas); for ($i = 0; $i <= $maximo ; $i++) { $progresso->mostrar($i); } echo "\n"; class BarraProgresso { private $colunas; private $limite; function __construct($limite) { $this->limite = $limite; $this->setColunas(80); } public function setColunas($colunas) { $this->colunas = $colunas - 22; } public function mostrar($valor) { $percentual = (int)(($valor/$this->limite)*100); $barra = (int)($percentual * ($this->colunas/100)); $mascara = "\r[%-" . $this->colunas . "s] %d%% (%2d/%2d)"; printf($mascara, str_repeat("=", $barra). ">", $percentual, $valor, $this->limite); } } ?>
José de Lima Junior é analista de sistemas. Mais informações no site http://www.jr.eti.br
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários