画像処理中にプレグロスバーを表示させたい

このQ&Aのポイント
  • 質問者は画像処理中にプレグロスバーを表示させたいと考えていますが、実際には画面Bに移動する前に画像処理が完了し、プレグロスバーの意味がなくなってしまいます。
  • 質問者はバーの実装に問題があると考え、バーの表示タイミングを制御する方法を求めています。
  • 質問者は完全なプレグロスバーを表示するための解決策を探しています。
回答を見る
  • ベストアンサー

画像処理中にプレグロスバーを表示させたい

画像処理するプログラムを組んでいるのですが、処理に時間がかかるので、プレグロスバーを表示させたいと考えています。 <?php if($_POST["mode"]){ 画面B ~画像処理~ }else{ 画面A <form method="me.php"> ~実行ボタン~ <input type="hidden" name="mode" value="1"> </form> } 最初は画面Aが表示され、実行ボタンを押すとB画面へ移って画像処理、みたいな流れにしています。 プレグロスバーを実装するのに http://www.html5.jp/library/progress.html こちらのサイトのバーが良いかと思いました。 ところが、実際に画面Bに実装すると画面Aで画像処理を行い、画像処理が終わってから画面Bが表示されるため、まったくプレグロスバーの意味がないものになります。 解決する方法はないでしょうか。 よろしくお願いいたします。

  • umioyo
  • お礼率78% (172/220)
  • PHP
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • mizutaki
  • ベストアンサー率33% (111/333)
回答No.1

PHPの処理は1リクエストに付1処理のみ。 処理が重いシステムというのは、 簡単にサーバがダウンするくらいの危険性を持っています。 だから本来はそういう処理そのものを避ける手段を探した方が有効かと思います。 (OS上だけで動くアプリケーションは1OSに付き1ユーザがアクセスする条件なので重くても平気ですが、サーバ上ではとことん危険) まぁ、やるとすれば ob_flash()をうまく利用する方法が基本ですが、 画像処理をさせようとする場合はPHPからの出力だけでは不可能なので、 同時にJavascriptをうまく使えば出来るかもしれない。  [流れ] ・JavascriptでPHPにリクエスト ・PHPはob_flash()を利用し進行具合をJavascriptへ返す ・Javascriptで定期的に取得情報を処理し、画像として表示する ・PHPが全ての処理を終了させたら、終了フラグと共に処理結果全てを返す ・Javascriptで処理結果を取得して、表示させる。 処理の仕方によってこの流れは多少変わるでしょうが、大方こんな流れになるんじゃないかな。 とんでもなく手間ですし、おすすめは出来ません。

umioyo
質問者

お礼

ご回答ありがとうございます! そうですか・・・ 一応処理的には極限まで削って速くしているつもりなんですが、どうにも・・・ ob_flashで調べてみます。 ありがとうございました。

関連するQ&A

  • 画面非表示で処理だけしたい

    PHPファイルを別のPHPプログラムのボタンを押す事により実行させたいのですが、非表示で処理だけ実行させる事はできるのでしょうか?(ボタンがある画面は表示したままで)

    • ベストアンサー
    • PHP
  • phpのsubmit処理について

    phpのsubmit処理について不明点があります 実装したいことは ボタンを押したらフォームの入力内容を別フォームに表示したいのですが 別フォームに呼び出しはできたのですが ボタン押下時にsubmitで表示するかの確認をしたいです 現段階ではボタンを押すと確認アラートも出ず、ただ別フォームが表示される形になってしまいます <--関数--> function showData(){ myRet = confirm("表示しますか") if (myRet == true){ } } <--form--> <form name = "FileData" action = "show.php" method="POST"> <--button--> <input type = "submit" name ="Display" onClick "showData();" value="表示"> ソースの抜粋になります これで実行するとshow.phpが呼ばれて表示はされるのですが関数が呼ばれず確認アラートも呼ばれません すぐ実行されるというものになっていますます この現象の原因と何か解決などわかることがあればよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP の自動で飛ぶ処理

    A.php ------------------------------------------------------------- ~省略~ print "<form action='./B.php' method='PSOT'>"; print "<input type='text' name='a_syori' value=''>"; print "<input type='submit' value='送信'>"; print "</form>"; -------------------------------------------------------------- B.php ~省略~ $b = $_POST['a_syori']; $b = $b * 2; -------------------------------------------------------------- B.phpでA.phpから送信された数値を2倍して すぐにまたA.phpに戻す という動作を行いたいのですが この場合、A.phpと同じ動作(formを作ってsubmitで送信)でしか A.phpには戻らないのでしょうか? 見た目ではB.phpでは表示させずにA.phpのみしか表示させたくありません。 今回はPHPで処理を行いたいと思っています。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • アップした画像を表示

    よろしくお願いします。 現在 <form action="" name="pic" method="post" enctype="multipart/form-data"> <input type="file" name="header_pic" value="" onchange="uproad_header()"> でonchangeで変更があるとsubmitを実行して画像を入れ替えています。 サーバー上のファイルは変わっています。 表示は <img src="pic1.jpg" width="58" height="58"> です サーバー上のファイルは変わっているので 更新ボタン(F5)を押すと画像は入れ替わるのですが 更新ボタンを押さずにアップされた時点で画像が入れ替わって表示する方法はないでしょうか? PHP5でやっています。 以上説明が下手ですみませんがよろしくお願いします。

  • PHPスクリプト実行後に別URLを表示したい

    HTML、PHPともに初心者です。 FORMより入力した内容を処理するPHPスクリプト実行後に、先のFORM画面に自動で戻りたいのですが、どのような方法を使えば実現できるのでしょうか? 現在、 ABCD.htmlのFORM入力後、SUBMITボタンでABCD.PHPを 動かしています。 このABCD.PHPの処理実行後ABCD.htmlを表示したいのですが、可能でしょうか? ご指導いただけると助かります。

    • ベストアンサー
    • PHP
  • 画像処理での文字の処理について

    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
  • CGIプログラムでのボタン表示のさせかた

    print "<form action=\"$script\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=note>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value="説明表'>"</form>\n"; print "<form action=\"$home\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=_top>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value='トップ'></form>\n"; というCGIプログラムの文章があるのですが、 上記の記述で実行すると、 「説明表」ボタンと、「トップ」ボタンが縦に並んで表示されてしまいます。 これを、横に表示させるようにするには、 どのように変更すばいいのでしょうか? 参考になるかわかりませんが、「説明表」をクリックして表示される文章は、 他のCGIプログラムの中に記述されています。

    • ベストアンサー
    • CGI
  • FORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

       以下のような画面を作りたいのですが↓ -------------------------------------------------------------------------------- ● a.php (ユーザ情報入力画面) ※フォームに入力する画面    <FORM method="POST" action="b.php">   <INPUT type="text" name="mail">   <INPUT type="submit" name="submit" value="確認">  </FORM> ● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面  <FORM method="POST" action="c.php">   <!-- ここには、フォームに入力された値を表示する -->   <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する   <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る  </FORM> ● c.php (完了画面) -------------------------------------------------------------------------------- b.php について質問なのですが、 b.phpにおいて、登録ボタンと戻るボタンを2つつけて、 それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・? <FORM method="POST" action="c.php">と書いてしまうと、 戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね?? こういう場合ってJavaScriptとかで遷移先を指定するんですか・・? もしそうでしたら、JavaScriptがよくわからないので できればサンプルコード示していただけると助かります・・・。   

  • 画像で作成したボタンの処理について

    HTML、CSS、Javascriptを勉強中の初心者です。 あまり難しいことはわからないので、噛み砕いて説明してくださるとうれしいです。 あるWebページで、画像で作成したボタンA、B、Cを一列に配置されている状態で、以下のような処理をしたいと思っています。 (1)画像Aがクリックされたら、画像Aを画像A2に置き換える (2)画像A2が表示されている状態で、画像Bをクリックすると、画像A2は画像Aとなり、画像Bは画像B2となる 質問内容は以下です。 (1)の処理をonclick処理で実装したところ、クリックした瞬間のみ画像A2となり、カーソルが離れると画像Aに戻ってしまうが、クリックした状態のままにするには他にどのような処理が必要なのか。 (2)jQuery?でif文でできるような気がするが、サンプルとなるものがなく、書き方がわからない…。 上記について、ご回答よろしくお願いします。

  • クリックによる画像の入れ替え処理について

    HTML、CSS、Javascriptを勉強中の初心者です。 あまり難しいことはわからないので、噛み砕いて説明してくださるとうれしいです。 あるWebページで、画像で作成したボタンA、B、Cが一列に配置されている状態で、以下のような処理をしたいと思っています。 (1)Aがクリックされたら、AをA2に置き換える (2)A2が表示されている状態で、Bをクリックすると、A2はAとなり、BはB2となる 質問内容は以下です。 (1)の処理をonclick処理で実装したところ、クリックした瞬間のみA2となり、カーソルが離れるとAに戻ってしまう。  クリックした状態のままにするには他にどのような処理が必要なのか。 (2)jQuery?でできるような気がするが、サンプルとなるものがなく、書き方がわからない。  (調べても、ほとんどが一つのコンテンツスペースに複数の画像をクリックで切り替えて表示する、というものばかりでした) 上記について、ご回答よろしくお願いします。

専門家に質問してみよう