Ir para conteúdo
gildo.rj

FPDF error: Some data has already been output, can't send PDF file

Recommended Posts

@Carlos Antoliv, apesar de sua resposta vir apenas dois meses depois da última, o tópico em si é bastante antigo.

 

Mesmo assim, agradecemos por compartilhar seu conhecimento conosco e pedimos que continue colaborando em tópicos mais recentes.

 

Contudo, vale salientar que ob_start() não limpa o buffer, ele simplesmente o inicia. Quem limpa o buffer é ob_clean() e ob_end_clean(), sendo que o segundo além de limpar também mostra aquilo que foi armazenado nele.

 

 

Apesar de bastante tempo ter passado, peço desculpas pela ausência e de falar somente agora, contudo quero salientar que você está correto quando afirma que ob_start() é para iniciar. Não sei como puder colocar aquela frase...rsrs..

 

E para enriquecer o texto, posso dizer um pouco mais ainda:

Um ob_start() vai pegar todos os dados de saída e GUARDAR em buffer, não limpar como eu havia dito. E esses dados só serão enviados ao navegador no momento em que a pessoa encerrar o buffer.

 

Existem três meios de encerrar o flush:

 

1. ob_end_flush(): Envia o conteúdo do buffer para a saída, esvazia-o e encerra o buffering;

2. ob_flush(): Envia o valor do buffer para o navegador e esvazia-o. Todas as entradas a seguir continuam indo para o buffer;

3. ob_end_clean(): Esvazia o buffer e encerra-o. Nenhuma saída é enviada.

Adicionalmente você pode utilizar a função ob_clean(), que apenas limpa o buffer.

Desculpe-me, por, de alguma maneira, ter passado uma informação que pode ter atrapalhado.

No mais, agradeço a todos.

Um abraço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Carlos Antoliv, apesar de sua resposta vir apenas dois meses depois da última, o tópico em si é bastante antigo.

 

Mesmo assim, agradecemos por compartilhar seu conhecimento conosco e pedimos que continue colaborando em tópicos mais recentes.

 

Contudo, vale salientar que ob_start() não limpa o buffer, ele simplesmente o inicia. Quem limpa o buffer é ob_clean() e ob_end_clean(), sendo que o segundo além de limpar também mostra aquilo que foi armazenado nele.

 

 

Você está corretíssimo.

Não vi como eu colocara isso.

Já corrigi.

Abço!!

 

 

OBS: pode excluir este POST. A resposta está acima. Eu não tinha visto. abç.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.