
No.5ベストアンサー
- 回答日時:
今はレンタルサーバでも「1分おき」にcronで起動させられるところが増えていると思います。
なので、現象発生→ファイル作成もしくはデータベース更新などでフラグを立てる→cronでフラグが立ってからの経過時間が一定時間を超えたら所定の処理をする。などといった感じがいいんじゃないでしょうか。
よほど「正確に10分」が必要でもない限りは、じっと遅延させる(実行を待ち合わせる)のは無意味です。10分以上で11分未満でよければcronで1分ごとにチェックする方がいいです。
No.4
- 回答日時:
> ・ではトリガーについて、例えばPOST送信してから10分経過後とか、10分以内にみたいな条件分岐(?)は出来るでしょうか?
それが shimixさんが言っている sleepを使う方法です。
スリープ1分ぐらいでループさせればいいかと思います。
ただ、POST送信した側のブラウザが閉じている場合、PHP内部でどうなるかは分かりません。
↓俺が 昔 どっかから拾ってきて 使ってるタイムアウト防止コード。
set_time_limit(0);// 実行時間を制限しない
ob_end_clean();// 出力をバッファリングしない
print str_pad('',256);// IEのために256バイト空文字出力
んで、定期的に flush();
ただ、既に指摘されてる注意点があるので、オンライン上では使わないほうがいいかと思います。
無限ループ発生させると サーバー管理してるトコから 多分 怒られます。
いろいろ危険な要素をはらむので、素直に cronを使うことをお勧めします。
「回答」&「具体的なコード提示」ありがとうございます
>POST送信した側のブラウザが閉じている場合、PHP内部でどうなるかは分かりません
>ただ、既に指摘されてる注意点があるので、オンライン上では使わないほうがいいかと思います
・参考になりましたー
No.3
- 回答日時:
「PHPで~処理が発生」が「PHPが~自発的に処理を」という意味であれば、どちらも無理です。
一般的なPHPの使い方は、リクエストに対してレスポンスを返す形です。
なので、誰かがトリガーを引いてやらないと、何もアクションしません。
一般には、上記の「誰か」というのは「ブラウザ」で、それを使わず 定期自動処理を行いたいのであれば shimixさんが言っている cronなどにトリガーを引いてもらう事になります。
んー、ここまで書いて思ったけど、プログラムって何でも最初の一回は誰かがプログラムの実行を指示してやらないと動かないんだよねーとか思ったり。
この回答への補足
回答ありがとうございました。
>「PHPで~処理が発生」が「PHPが~自発的に処理を」という意味であれば、どちらも無理です。
>一般的なPHPの使い方は、リクエストに対してレスポンスを返す形です。
>なので、誰かがトリガーを引いてやらないと、何もアクションしません
・よく分かりました
・ではトリガーについて、例えばPOST送信してから10分経過後とか、10分以内にみたいな条件分岐(?)は出来るでしょうか?
No.1
- 回答日時:
回答1
sleepで実行を待ち合わせることはできます。
http://jp1.php.net/manual/ja/function.sleep.php
ただし、ブラウザからアクセスされたスクリプトで一定時間以上何も返さない状態を続けると、ブラウザがタイムアウトと判断してしまうので細かく区切って「何か」を出力しながら遅延させるなどの工夫は必要ですし、レンタルサーバなどでは実行時間の制限にひっかかるかもしれません(sleepを実行時間に含まないケースが多いとは思いますが、どういう運用かは確認しないとわかりません)。
回答2
「phpで」というのは無理です。システム側で行います(Unixならcron、WinOSならタスクで)。
回答ありがとうございました。
>sleepで実行を待ち合わせることはできます。
>ただし、ブラウザからアクセスされたスクリプトで一定時間以上何も返さない状態を続けると、ブラウザがタイムアウトと判断してしまうので細かく区切って「何か」を出力しながら遅延させるなどの工夫は必要です
・参考になりましたー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 財務・会計・経理 費用と固定資産についてですが、計上する基準は理解出来るのですが、 計上した後、何がどう違ってくるのか 4 2023/01/09 15:36
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
- CPU・メモリ・マザーボード ストリーミングの一時処理用の領域について 1 2023/04/11 21:55
- 宗教学 生物進化の原則 1 2023/05/07 09:46
- デスクトップパソコン 通話が遅延します 1 2023/06/18 02:36
- 環境学・エコロジー ALPS処理水とは 10 2022/12/27 12:40
- その他(学校・勉強) 質問のマルチポストの是非を問う数理的問題 1 2023/02/13 13:43
- 妊活 チェックワンファスト 生理予定日1日前のフライング検査 これは蒸発線? 8 2023/04/19 12:23
- 派遣社員・契約社員 派遣について詳しい方へ質問 1 有給の具体的な1日の金額は普段勤務している金額ではなく、もっと低いの 3 2023/05/09 15:04
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【PHP/MySQL】コード上で生成...
-
phpの問い合わせフォームを作っ...
-
PHP8でWarning:Undefined varia...
-
composerをインストールしたい...
-
BASIC認証のフォームをデザイン...
-
phpでcookieがうまく保存されない
-
アップロードファイルの数に応...
-
PHPで画像の渡しが上手く行きま...
-
PHP MySQLに画像を直接保存
-
php に関して質問です。 各ユー...
-
phpに関わる所での、form actio...
-
$_SESSIONについて教えて下さい。
-
PHP echo バックスラッシュの使...
-
PHPでCSVを出力するさいに、ル...
-
登録、削除、リスト、もう一つ...
-
Content-Typeが機能していない?
-
PHP でメールフォームを作成したい
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ASP.NET(VB)VBソースからJavas...
-
sleepの負荷
-
呼び出し元のURLを知りたいのです
-
PHPにてHTMLページ表示とは別プ...
-
ブラウザ閉じたらサーバー処理...
-
PHPで15桁程度のユニークコード...
-
PHPで一定時間が経過すると処理...
-
php ob_flushが全く動作しない
-
読み込み中に「Now Loading」を...
-
JSTLを利用してJavascriptの結...
-
処理中...と表示するには
-
include 再読み込み
-
PHPでソケットの使いまわしに問...
-
JavaScriptソースをphpで書くに...
-
jQueryのAjaxで通信の途中結果...
-
長時間かかるPHPプログラムの処...
-
会員専用ページへのログインで...
-
HTML、CGI、Java、JavaS...
-
PHPで、IE の「警告 : ページの...
-
dreamweaverでFTP接続ができな...
おすすめ情報