Maison > Questions et réponses > le corps du texte
Le code est le suivant
tandis que(true){
$getitem = mysql_query("select * from bulletin order by id desc limit 1");
$item = mysql_fetch_array($getitem);
echo json_encode($item,JSON_UNESCAPED_UNICODE);
ob_flush();
flush();
ob_clean(); //Je ne comprends pas très bien la fonction de ob_clean
mysql_data_seek($getitem,0);
dormir(1);
La zone de cache PHP peut afficher le contenu de la zone de cache vers le navigateur via ob_flush et flush, et la fonction de ob_clean est de vider la zone de cache, donc le résultat attendu est de ne sortir que le dernier élément de données à chaque fois. . Mais en fait, la sortie précédente n’est pas effacée. Comment puis-je répondre à mes besoins ?
PHP中文网2017-05-16 13:12:26
Utilisation des trois fonctions suivantes
ob_get_contents() - 返回输出缓冲区的内容
ob_flush() - 冲刷出(送出)输出缓冲区中的内容
ob_clean() - 清空(擦掉)输出缓冲区
ob_end_flush() - 冲刷出(送出)输出缓冲区内容并关闭缓冲
ob_end_clean() - 清空(擦除)缓冲区并关闭输出缓冲
flush() - 刷新输出缓冲
通常是ob_flush();flush()同时一起使用
使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。
然后用ob_get_contents得到缓冲区的数据。
ob_start() ouvre un tampon sur le serveur pour enregistrer toutes les sorties. Ainsi, chaque fois que echo est utilisé, la sortie sera ajoutée au tampon jusqu'à la fin du programme ou jusqu'à ce qu'il soit terminé à l'aide de ob_flush(). Ensuite, le contenu du tampon du serveur sera envoyé au navigateur, qui sera analysé et affiché par le navigateur.
La fonction ob_end_clean effacera le contenu du tampon et fermera le tampon, mais n'affichera pas le contenu.
A ce moment, une fonction ob_get_contents() doit être utilisée devant ob_end_clean() pour obtenir le contenu du buffer.
Dans ce cas, le contenu peut être enregistré dans une variable avant d'exécuter ob_end_clean(), puis la variable peut être utilisée après ob_end_clean().