ページがブラウザに送信された後に関数を呼び出そうとしていますが、その方法が見つかりませんでした。ページロード後に関数を呼び出す方法
私はregister_shutdown_functionと__destructの両方を試しましたが、動作しません。
これは私が持っている構造である。
register_shutdown_function('MyClass::Save');
MyClass::Initialize();
CreateAllOutput();
のMyClass ::セーブは内部の睡眠(20)を持っています。
CreateAllOutput()の後にshutdown関数が呼び出されますが、実際にはブラウザのロードバーはSave関数が実行されてから20秒待って終了するだけです...私は静的でないクラスと__destructの内部にsleep(20)があり、同じことが起こります。
出力がすべてブラウザに送信された後にのみ関数を実行する方法はありますか?
ありがとうございます。
私は今までこのような機能を実際には必要としませんでしたが、これは大きな制限のようです。私はちょうど何も出力に追加されていないことを確認するために、ページが読み込みを完了するのを期待しているので、ユーザーがそれを待つことを強制されることなく機能するようにしたい...失望... – BlunT
@BlunT - 私は私の答えで別の可能な解決策を追加しました –
私はすでにexecをやっていると思っていましたが、あまりにもオーバーヘッドに見えるだけで、私は共有ホスティング環境にいるので、私はGoogleから逃したかもしれないシンプルでストレートな解決策を望んでいましたが、これまでのところはそうではありません。 – BlunT