2010-10-12 39 views
1

Après tant d'ennuis, je découvre que lorsque j'utilise la fonction flush dans mon script de messagerie PHP, je reçois des caractères de vidage ou de vidage sur le navigateur comme ci-dessous.Fonction de vidage PHP provoquant des caractères étranges sur l'écran

alt text

Le code est ci-dessous

if ($mail->Send()) { 
    echo "<br><font color=darkgreen>[$num successful send to $to]</font> "; 
    // flush(); 
    return true; 
} 

Si je commente cette ligne de chasse ensuite est l'anglais simple, mais je décommenter que la page entière du texte ressemble à ordures.

Maintenant, est-ce un problème PHP, un problème de navigateur ou un problème de serveur?

Si j'utilise le même script à partir du shell, je veux dire exécuter à l'intérieur du terminal shell puis je peux voir la sortie HTML. Mais cela ne fonctionne pas dans les navigateurs.

+0

Avez-vous essayé ob_start() et ob_end_flush() au lieu ? – stillstanding

+0

Sur quel navigateur le voyez-vous? Vous avez déjà essayé un autre navigateur? On dirait que le navigateur utilise le mauvais jeu de caractères. – ITroubs

+0

J'ai essayé tous les navigateurs et c'était pareil –

Répondre

0

J'ai trouvé la réponse à ma propre question. Je devais tourner

zlib_compression off 

dans mon fichier de paramètres php.ini.

(Qu'est-ce que cela veut dire et pourquoi est-il travailler ?. Je l'avais essayé pendant au moins 1 an, mais n'a pas pu résoudre le problème, mais maintenant cela a fonctionné.)