タグ

2009年1月29日のブックマーク (6件)

  • http://study.rakuto.net/php/phptips/progress/

    goy_80
    goy_80 2009/01/29
  • PHPにおけるプログレスバーの実現2 - 凹みTips

    再び、競馬の解析のPHP作成を再開しました。前はサイアーラインから色分けした血統表を作成、ってところまで作ったので、とりあえず保留。これからはオッズと着順の関係を条件ごとに検索できるシステムをちょくちょく作っていきたいと思っています。今はURL指定すれば自動で10000件くらいのレースのデータを取って来れるようにはなりました。次は取ってきたデータを解析するところを作っていきます。 話は変わってこのブログで一番アクセスが多いのがPHPのプログレスバー関連の話なので、gdgdだった前回の説明を補足、簡略化する意味で再び解説していきたいと思います。 プログレスバー? 競馬の解析をする際、情報はネットからスクレイピング(必要な部分だけ抽出してくること: はてなダイアリー)していますが、単純にウェブサイトを読み込む時間が必要なので、如何にブロードバンド時代と云えど100ページとか読み込むには相当な時

    goy_80
    goy_80 2009/01/29
  • Do You PHP はてな - 出力バッファとflush()・ob_flush()

    しばらく使わないとすっかり忘れてしまうので、まとめてメモ。 ありがちなネタとして、 プログレスバー(進捗状況をリアルタイムに表示) 「お待ちください」と表示させて裏で処理を実行し、処理が終わったら結果を表示する などがありますが、これらを行うには出力データのバッファリング/フラッシュを行うことになります。 で、PHP的にはob_*関数やflush関数を使うことになりますが、[PHP-users 18135]プログレスバーは実現可能か?のスレッドから flush()が動作する条件は、出力バッファが無いこと ob_flush()が動作する条件は、出力バッファのネストレベルが1であること 出力バッファのネストレベルはob_get_level()で取得できる output_handler、output_buffer(> 0)を指定すると、ネストレベルが変わります という注意点が挙げられます。 たと

    goy_80
    goy_80 2009/01/29
  • 実行に時間のかかるPHPプログラムをタイムアウトさせないようにする « kawama.jp

    ループの中に、PHPのflush関数を入れればOK。かなりお手軽。 http://ns1.php.gr.jp/pipermail/php-users/2002-January/004963.html http://ns1.php.gr.jp/pipermail/php-users/2002-December/012261.html ※追記 phpマニュアルによると、 いくつかのバージョンのMicrosoft Internet Explorerは、256バイトの 出力を受けてからページを表示し始めます。このため、これらのブラウ ザにページを表示させるには、フラッシュする前に余分な空白を送信す る必要があるかもしれません。 とあります。ここで少しはまってしまいました。要注意です。 ツール amazon商品情報ビューワー amazon商品画像ビューワー HTMLエンコード・デコード URLエンコ

    goy_80
    goy_80 2009/01/29
  • WindowsAPI Programming

    WindowsAPI Programming  第3章 〜ソケット通信〜 ここではWindowsPCどうしでデータ通信を行う方法について学びます。 目次 I.  Windows Sockets II. ストリームソケットの通信手順 1.ソケット作成 2.ソケットを閉じる 3.ソケットのバインド 4.ソケットの接続待ち 5.ソケットの受け入れ 6.サーバへの接続 7.データの送信 8.データの受信 III.非同期ソケット通信 IV.変数型名 V. 簡易チャットプログラム 0.プログラムソース 1.ソケット通信部の説明 2.エディットボックスの説明 3.インタフェースの説明 はじめに 現在WindowsやUNIX,MacOSなどでデータ通信の目的で広く使われている方式がソケット通信です。 これは互いに異なるマ

  • プロセスIDからプロセスの有無を確認する方法

    PHPのCLIからの実行で排他制御を行おうと思い、ある程度出来てきたのですが、保存しておいたプロセスIDからプロセスの有無を確認する方法が分かりませんでした。 簡単な方法としてはsystemやexecを使用して ps -ef|grep xxxx などとすれば良いかと思うのですが、grepそのものが引っ掛かってしまったりしてあまり美しくありません。リファレンスを一通り読んで関数を探してみたのですが適切な関数が見当たりませんでした。 何か良い方法をご存知の方がいらっしゃいましたらご教示頂けますでしょうか。宜しくお願い致します。

    プロセスIDからプロセスの有無を確認する方法