重複の可能性:
PHP でブラウザの終了を検出する
サーバーにユーザー関連のファイルがいくつかあり、ユーザーがブラウザーを閉じたりページを離れたりしたときにそれらを削除したいと考えています。出来ますか?それを行う方法はありますか?
重複の可能性:
PHP でブラウザの終了を検出する
サーバーにユーザー関連のファイルがいくつかあり、ユーザーがブラウザーを閉じたりページを離れたりしたときにそれらを削除したいと考えています。出来ますか?それを行う方法はありますか?
PHPだけではありません。
PHP はサーバー側で実行され、ユーザーがブラウザーを閉じるまでにページの処理は完了しています。特定の構成を使用して、PHP がまだページを処理しており、ユーザーがページを閉じているかどうかを技術的に検出できます。しかし、それは理想的ではありません。を参照してくださいconnection_aborted()
。
必要なことは、JavaScript でロング ポーリング接続を設定し、サーバー側で監視することです。その後、そのウィンドウがいつ閉じられるかがわかります。その接続は PHP スクリプトに作成され、PHP がチェックできるようになりますconnection_aborted()
。ignore_user_abort()
これが機能するように設定するか、それに応じて PHP.ini を構成する必要があることに注意してください。
JavaScript を使用して、数秒ごとに .php ファイルへの ajax 呼び出しを行うことができます。
PHP は *サーバー側 * であるため、PHP のみではほとんどの場合、これは不可能です。可能な解決策は、cronjob を毎晩実行させ、古いファイルを削除させることです。