• The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
#contents

* 勉強会 [#study]

- 第57回PHP勉強会@東京
--  http://events.php.gr.jp/events/show/108
-- 会場) http://voyagegroup.com/company/access/

* 発表内容 [#presen]

- pure PHP でバイナリ処理 ~ IO_Bit とその応用 ~
- 第52回に発表した [[presen/PHP/binary]] の続き。

** 前回の復習 [#d09507b0]

- バイト単位での処理は string として扱えば OK
- 懸念点の払拭。途中の \0 とか 8bit スルーとか。

** IO_Bit のご紹介 [#io_bit]

- バイナリ処理のパッケージ。ビットストリームの動作原理
- バイナリ処理のパッケージ。
- http://openpear.org/package/IO_Bit
ビットストリームの動作原理
- バイト単位、ビット単位での read/write が可能。
- 特定オフセットを書き換えたり、16進 dump したりといった便利関数

** 応用例1) IO_SWF [#io_swf]

- Flash の実行ファイルの SWF の中身を書き換える
- http://openpear.org/package/IO_SWF
- SWF の中身をダンプするデモ
- SWF 内の画像を入れ替えるデモ

*** 実は [#c1620fdc]

- SWFEditor を導入すると PHP 自体を C 言語で機能拡張するので、IO_SWF と大体同じような機能でずっと軽い負荷。サービスで使うなら出来ればこちらで。
- http://sourceforge.jp/projects/swfed/


** 応用例2) IO_Zlib [#io_zlib]

- gzuncompress を IO_Bit で実装してみた。
- gzuncompress 相当の処理を IO_Bit で実装。
- http://openpear.org/package/IO_Zlib
- Zlib / Deflate の簡単な説明。
- 実装の説明。
- Zlib 伸長するデモ (gzcompress したデータが元に戻るところ)



Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes