felipepai 1 Denunciar post Postado Abril 10, 2017 Exemplo código simples desse, abaixo simples while, por que algum servidor, ela só exibi as informações na tela quando termina o while, e outro o while vai processando e mostrando na tela? por exemplo, no xamp localhost só mostra quando termina tudo, como faz a configuração para ir carregando o while e mostrando? $con = 1; while($con < 50){ echo $con; $con++; sleep(10); } Compartilhar este post Link para o post Compartilhar em outros sites
marsolim 110 Denunciar post Postado Abril 10, 2017 Em vb tem um bagulho chamado DoEvents que faz isso só que o código fica mais lento porque é uma tarefa a mais pra ser feita e multiplicando esse tempo por cada passagem no loop o tempo a mais pode ser grandim dependendo a quantidade de passagem Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Luiz 41 Denunciar post Postado Abril 10, 2017 Isso depende da velocidade de servidor! Obvio que num localhost você vera os dados "apos carregado"! Isso acontece que devido o processamento ser muito rapido, você a "olho nu" visualiza o resultado prontinho na tela com o script já processado. Já num servidor web, onde você depende da velocidade de processamento do servidor e em conjunto depende também da velocidade da sua conexão com o servidor, pode acontecer de você ver a "olho nu" as informações sendo processadas e imprimidas na tela aos poucos! Agora, se você quer essa visualização "aos poucos" ou "visualizar somente apos completado" de forma proposital, ai envolveria um pouco de jquery/ajax ou até mesmo na mudança de atributos de configuração de processamento do servidor. Compartilhar este post Link para o post Compartilhar em outros sites
felipepai 1 Denunciar post Postado Abril 10, 2017 Eu acho que não fui claro, por exemplo no código abaixo, ele vai processar o while vai demorar 10 minutos por causa do sleep, e quando termina ele mostra 1 , 2 ,3 ,4,5,6,7.... que foi numero que mandei imprimir, porém tem alguns servidor que ele imprimir por exemplo passou 1 minuto imprimir o 1 passou 2 minuto imprimir 2, conforme vai carregando, acredito que seja alguma configuração. $con = 1; while($con < 10){ echo $con; $con++; sleep(60); } Compartilhar este post Link para o post Compartilhar em outros sites
EdCesar 124 Denunciar post Postado Abril 10, 2017 Felipe, se você executar isso no terminal, o valor de $con sera imprimido a cada nova iteração, conforme você descreveu. No caso de executar o script pelo navegador, o navegador faz apenas uma requisição e aguarda uma resposta, por esse motivo, o comportamento sera de aguardar tudo ser processado, para só então mostrar. O comportamento é basicamente o mesmo de ob_start();http://php.net/manual/pt_BR/function.ob-start.php Uma solução para ter esse comportamento do terminal no navegador, (mostrar a mensagem a cada iteração) seria também fazer um loop em javascript, onde o mesmo verificaria via ajax, se existe algo novo para exibir. Esse algo novo, seria o valor de sua variavel $con, que seria salvo no banco de dados, ou em algum outro lugar, para o navegador consultar. E obviamente você terá que implementar um algoritmo FIFO para fazer o controle da exibição do conteúdohttps://pt.wikipedia.org/wiki/FIFO Para não ficar duvidas, não há configurações que você possa mexer para ter esse comportamento, terá que programar! Compartilhar este post Link para o post Compartilhar em outros sites