タグ

ファイルアップロードに関するmasayoshinymのブックマーク (3)

  • 長時間実行によるブラウザタイムアウト対策 | たけらぼ

    PHPで長時間実行されるバッチ処理で起こる問題。 PHPではサーバー負荷防止のための “max_execution_time” によるタイムアウトがあるが、これとは別にブラウザに画面出力がないまま時間が経過すると、408 Request Timeout が発生してしまう。 タイムアウトまでの時間は、Firefoxではdefaultで115秒、IEでは60秒となっている。 これを防ぐためには、画面に何か定期的に出力しておく必要がある。 バッチ処理の場合は、リアルタイムに処理件数等をカウントしていくプログレスバーを表示する方法がある。 実現方法としてはAjaxを用いる。具体的にはこちらを参考にした。 はじめに全体の処理件数を求める。 ループ処理の最後で処理件数をカウントアップしていき、「処理件数 / 全体件数 * 100」 でプログレスバーのゲージを進める。 これで3分を超える処理でも 408

    長時間実行によるブラウザタイムアウト対策 | たけらぼ
  • $.ajaxファイルアップロードでプログレスバーを表示する。 - それマグで!

    速度制限が毎日続くTakuyaです。こんにちは!。 データセンターにmpeg動画を送信して、サーバー側でffmpeg 掛けてました。節電の為に自宅鯖を停止し、Linuxボックスだけ起動してました。重い処理はサーバーにやらせてました。ファイル送信が3TB超えてついに速度制限を喰らいました。怖いですね。11/01に無事解除されましたが。。。 <input type=file /> の通信状況を見たい。 UP速度制限が100kbpsでした、ブラウザのファイルアップロードに不自由を感じました。iphone4の写真UPに1枚あたり30秒位かかってました。さくらVPSのWEBアプリに写真をアップするだけでも大変でした。ファイル送信状況が見えないと不安しかたありません。< input type=file/> でアップしたファイルの送信状況を見れるようにフォームを改造しました。 $.ajax でHTML

    $.ajaxファイルアップロードでプログレスバーを表示する。 - それマグで!
  • ブラウザでサーバー側処理進捗のリアルタイム表示 (プログレスバーの実装) - Qiita

    概要 説明 タイトルが怪しく、分かりにくいかもしれませんが、簡単に言うとサーバー側で行うバッチ処理の進捗をプログレスバーの形でリアルタイムで表示するといった機能の実装です。 やり方については、ググッてみると色々と方法があるらしいですが、そのうち、今回の僕のような実装方法はなかったので一応ポスティングして置きます。 処理の流れ ブラウザ: パラメータ入力 (使用言語: php) サーバー: 管理スクリプトの起動 (使用言語: python) バッチ処理スクリプトとモニタリングスクリプトを起動 モニタリング結果をプログレスバーに渡す バッチ・スクリプト (使用言語: shell) ブラウザからのパラメータにより、バッチ処理を行う モニタリング・スクリプト (使用言語: shell) バッチ処理で生じたログファイルをリアルタイムで監視し、進捗状況を出力 プログレスバーの生成、表示 (使用言語:

    ブラウザでサーバー側処理進捗のリアルタイム表示 (プログレスバーの実装) - Qiita
  • 1