Comment PHP détermine si la page est fermée : Vous pouvez utiliser la fonction connection_status() pour déterminer. Si la fonction renvoie 0, la connexion fonctionne normalement ; si elle renvoie 1, la connexion a été interrompue par une erreur de l'utilisateur ou du réseau.
Introduction à la fonction associée :
la fonction connection_status() renvoie l'état de connexion actuel.
(Tutoriel recommandé : Tutoriel vidéo php )
Valeurs possibles pouvant être renvoyées :
0 - CONNECTION_NORMAL - Opération de connexion OK
1 - CONNECTION_ABORTED - Connexion interrompue par une erreur utilisateur ou réseau
2 - CONNECTION_TIMEOUT - Délai de connexion expiré
3 - CONNECTION_ABORTED & CONNECTION_TIMEOUT
Mise en œuvre du code :
echo str_repeat(" ",3000); ignore_user_abort(true); mylog('online'); while (true) { /* * 1、程序正常结束 connection_status 0 * 2、点击浏览器“停止”按钮 connection_status 1 * 3、超时 connection_status 2 */ echo "test<br>\n"; //注意程序一定要有输出,否则ABORTED状态是检测不到的 flush(); sleep(1); if (connection_status()!=0){ mylog('offline'); die('end the script'); } } function mylog($str) { $fp = fopen('e:/abort.txt', 'a'); $str = date('Y-m-d H:i:s').$str."\r\n"; fwrite($fp, $str); fclose($fp); }
Recommandations associées : formation php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!