• ベストアンサー

処理中断

phpで 1.html、2.html、3.htmlというように連番で続く 同じ型のWebページからページ上の特定のデータを抜き出し 1つのtxtに出力するということをしているのですが forのループ処理中に キー入力やボタンを押すなどユーザーの操作によって 途中で処理を中断することはできるんでしょうか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

停止ボタン押下 → stop.txtを生成するページへアクセス for内では毎回 stop.txt をチェックする などすれば実装は一応可能であるかと。

asclepius
質問者

お礼

やってみます。どうもありがとうございます。

関連するQ&A

  • 条件により処理を中断させる方法

    下記のようなコードで、ある条件のときに処理を中断するという処理を書きたいと思っています。条件はループ処理の中で変化する変数の状態を検知するのではなく、処理の外部の状況を条件にしたいと思っています。 例えば「1秒たっても終わっていなかったら中断」という様にしたいと思っています。 ※最初は「特定のキーが押されたら中断」などというようにしたかったのですが。 しかしうまくいきません…。下記のコードではIE8, FirFox, Chromeすべて駄目でした。とりあえずIE8だけでも、さらに言えばHTA限定でもOKです。 何とかならないものでしょうか?「このような処理は不可能だ」という情報でも、あきらめることができるためありがたいです。 よろしくお願いします。 <html> <input type="button" id="btn"> <script> document.getElementById("btn").onclick = function() { var flg = false; var tid = window.setInterval(function() {flg = true;}, 1000); for (var i = 0; 80000 > i; i++) { if (flg) { window.clearInterval(tid); alert("break"); break; } document.getElementById("btn").value = i; } alert("finish"); }; </script> </html>

  • web画面から呼び出したphp処理を途中キャンセル

    現在、phpでwebシステムを作っています。 画面上のボタンの押下イベントでphpのファイル出力処理を呼び出し、 「処理中」の文字列と「キャンセルボタン」が表示された別ウィンドウを起動させるのですが、 その別ウィンドウで「キャンセル」ボタンを押された時の、phpを中断させる処理が分かりません。 ajaxの非同期通信でphpを呼び出して処理中画面を表示させるところまでは分かるのですが、 その後に処理中断させる時にはど、どうすれば良いのでしょうか? どのphpモジュールを終了させるのか特定できればと思ったのですが、その方法も分からず… それかスレッドとかを使えばいけるのでしょうか?(スレッドもよく分かってませんが…;) 手詰まりで大変困っています。ヒントだけでもご教授いただければ本当に助かります。 どうぞよろしくお願いいたします。 -------- phpのバージョン:5.0 ajaxライブラリ:prototype.js 6.0

    • ベストアンサー
    • PHP
  • Excel VBA で処理中断(DoEvents)ができなくて困ってい

    Excel VBA で処理中断(DoEvents)ができなくて困っています。 まず、CommandButton1ボタンでSampleをコールし、Sample処理の中でループを廻し、途中でCommand1ボタンをクリックして、処理中断(DoEventsによって)をいれたいと思っています。 しかし、Command1ボタンをクリックしても処理中断がきかないのです。 グローバル変数fStopにはCommand1ボタンをクリックしたときにTrueが入っていることは、MsgBoxで確認していますが、Sample処理の方に値がつたわっていないようで、ループが最後まで止まりません。 コードが悪いのでしょうか、それとも、DoEventsの使い方が悪いのでしょうか。 もし、DoEventsが使えないのであれば、代替手段はありますでしょうか。 (長時間の印刷中の処理中断に応用したいと思っています) 環境はExcel 2002 SP3 , VB 6.0 , Windows XPです。 なお、DoEventsのコードは以下のURLを参考にして作成しました。 http://officetanaka.net/excel/vba/function/DoEvents.htm コードは以下のとおりです。 '********* Dim fStop As Boolean 'グローバル変数を宣言 '********* Sub Sample() Dim i As Long fStop = False For i = 1 To 1000000 DoEvents If fStop = True Then MsgBox "処理が中断されました" Exit For End If Next i End Sub '******** Private Sub CommandButton1_Click() Call Sample End Sub '******** Private Sub Command1_Click() fStop = True MsgBox "fStop=" & fStop End Sub

  • vbscriptの偽条件処理について

    VBスクリプトで以下の処理をさせたいのですが 行き詰まってしまいました。お助けください 以下のようにfilename.txtというファイルがあり 人名と文字列があります。 このうち、特定の文字列が"存在しない"人名を出力したいのです。 例えば、「abcde」をキーとするとyamada,satoを出力したいです。 「zzzz9」をキーとするとyamadaと出力する具合です。 よろしくお願いいたします filename.txt(定義ファイル) ---------------------- yamada xxx1 yamada yyy4 tanaka zzzz9 tanaka abcde sato zzzz9 ----------------------

  • ファイルを処理中に次の処理に移ってしまうようなのですが、、

    VB.NETですが、 趣味でアプリケーションを作成しています。 下記のコードで処理を実行させています。 Call Shell("C:\aaa.exe c:\test.txt c:\test2.txt", AppWinStyle.Hide) (A) Dim sr As New System.IO.StreamReader("c:\test2.txt", System.Text.Encoding.Default) Dim sb As New System.Text.StringBuilder(CInt(Microsoft.VisualBasic.FileSystem.FileLen("c:\test2.txt") * 1.1)) 'ファイルの最後までループ Do Until sr.Peek = -1 sb.Append(sr.ReadLine & vbCrLf) Loop sr.Close() "aaa"はtest.txtを加工してtest2.txtとして出力するプログラムです。 その後、test2を最後まで読み出しているのですが、 どうもプログラムaaaが処理を終了する前に 次の読み出し処理に移ってしまっているようなのです。 そこで、素人なりに上記(A)の部分に For i = 0 To 2000000000 Next For i = 0 To 2000000000 Next とForループを加えて時間稼ぎしているのですが、 状況によって時間稼ぎがうまくいかない場合があります。どのように問題を回避すべきでしょうか? aaaはDLLでも組み込み可能になっているプログラム なのですがDLLで実行させると何らかのメリット があるのでしょうか? その点を教えていただけると助かります。 回答よろしくお願いいたします。

  • VC++2008 の中断/再開ボタンについて

    MFCにて開発しております。 forループにて処理を走らせております。 処理時間が長いので、 進行状況ダイアログをモーダレスダイアログにて表示しております。 進行状況ダイアログには中断ボタンが存在し、 中断ボタン押下で処理が一時中断すし、「再開」ボタンへと名称が変わる。 再開ボタンを押下することで、引き続き処理が走る という処理にしたいと考えております。 この中断ボタンの処理ですが、WaitForSingleObject関数を使用しようかと考えておりますが、 どうもMSDNやネットで検索しても、使い方が良くわかりません。 DWORD WaitForSingleObject( HANDLE hHandle, // オブジェクトのハンドル DWORD dwMilliseconds // タイムアウト時間 ); この「HANDLE hHandle」にはどういった形のものを使えば良いのでしょうか。 (HANDLE自体を調べましたが良く意味がわかりませんでした・・・) もしよろしければご教授頂けたら幸いです。

  • VB For-Next文でのExitではなく中断は可能?

    初歩的な質問で申し訳ありません・・・ ループで処理しているものがあるのですが、ExitForでループを抜けることはできますが、途中で処理を中断して次のカウンタの処理へ移ることはできるのでしょうか? 例えば For i = 1 to 10   if 関数1() = False then     ■ループ処理を終了するのではなく次のカウンタ[i]に移りたい■   else     Call 関数2()   end if Next i という事をしたいと思っています。 今は For i = 1 to 10   ret = 関数1()   if ret = True then     Call 関数2()   end if Next i という方法で記述していますが、上記のような条件文が10や20もあると、IF文の入れ子入れ子でかなりコードが見にくいです・・・。 どなたかよろしくお願いします!

  • 教えて!ファイルの操作

    計算結果をテキストファイルへ書き込んで出力したいです。 一つのファイルへ出力の場合、ファイル名を指定(output.txt)して、出力は出来ますが、 ループ(i:1から10まで)を使って、ループの循環と共に、(output1.txtからoutput10.txt)のように出力したいです。 ファイル名は変わりますから、上記の操作はできますでしょうか。 教えてください! お願いします。

  • 画像処理での文字の処理について

    formのtextareaから文字を受け取り、その文字を画像に書き込むプログラムを作成しています。 処理手順は、 1.[a.php]にあるtextareaに文字を入力   <textarea name="intxt" rows="10" cols="30"></textarea> (FORMのmethodはPOST)    2.submitで値を送信し、[b.php]で処理   [a.php]:print "<img border='0' src='b.php?imgfile=$imgfile&txt=$txt'>";      [b.php]:$imgfile=$_GET['imgfile'];/*画像*/        $txt=$_GET['txt'];    /*入力文字*/        文字を画像に書き込むときに、  aaa  bbb という風に画像に書き込みたいのですが、処理をすると  aaabbb  となります。 そこで私が考えた方法は、改行コードで文字列を切り取り、【 $text=explode("\n",$txt); 】 for文で書き込むという方法でしているのですが、うまく文字列を切り取れません。 改行コードが間違っているのでしょうか? それとも、改行コードでは切り取れないのでしょうか? 検索をかけてみたり、他の質問を見てみたのですが、うまく出来ませんでした。 それと、日本語で文字列を渡すためにはどのような関数を使えばよいのでしょうか? マルチバイト文字列はrawurlencode()を噛まさねば渡すことが出来ないというのはわかったのですが、 どういう風に噛ませるのかわかりません。 いろいろと試したのですが、表示されませんでした。 他にも方法があるのでしょうか? 開発環境は、PHP5.2.5、Apache2.2、WindowsXPです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 処理の内容を別ページへ出力したい

    みなさま、どうかお知恵をお貸しください。 私はWebページやPHPについては、全くの素人であり、勉強しながら作成しています。 そのため、的外れな質問かもしれませんが、どうかご容赦ください。 以下のような動作を想定しています。 ・「ページA」へアクセスすると「ページA」に記述されたPHPのプログラムにより処理が実行され、処理結果を表示します。 ・この際、「ページA」には処理結果のみを表示します。 ・そして「ページA」に「詳細表示」ボタンを用意し、「詳細表示」ボタンを押下すると、「ページA」で行った処理の詳細内容を表示します。 そこで質問です。 「ページA」で行うプログラムはオブジェクトを多数利用しており、結果が毎回変化するため、DBやファイルによる保存は考えておりません。 そのため、PHPプログラムの途中で詳細内容を「ページB」へ出力しておき、「詳細表示」ボタンを押下すると「ページB」へ遷移しようと思います。 そこで質問ですが、「ページA」の処理で「ページB」へ出力することは可能でしょうか? PHP等の本で調べてはみたのですが、答えが見つからずに困っております。

    • ベストアンサー
    • PHP