[PHP-users 29215] Re: PHP でのバイナリの扱いについて
KOYAMA Tetsuji
koyama @ hoge.org
2006年 5月 16日 (火) 15:20:25 JST
小山です。
On 5/16/06, Matsumoto Taichi <taichino @ naoko-takeuchi.net> wrote:
> PHPのバイナリデータの扱いについて質問させてください。
>
> ファイルをバイナリデータとして
> 読み込み、その値を基にして処理を行いたいのですが、
> うまく行きません。
> 読み込みたいファイルは暫定的に4バイトの整数値を保持させています。
> (例えば0x00000001)
> この値を取得したいのです。
> (例で言うと1を取得したいです。)
PHPでバイナリデータを読み込むには unpack 関数を使用します。
ファイル名 'hoge.bin' に unsigned long の 0x01 が書かれているとして、
以下のように読み込みます。
$fh = fopen('hoge.bin', 'r'b');
$buf = fread($fh, 4);
$val = unpack('L', $buf);
fclose($fh);
ここで $val [0] は 1 になります。
ただバイトエンディアンには注意してください。unpack に渡すフォーマット
文字列を変更することで、いろいろな読み方ができるようになります。
--
小山哲志@ビート・クラフト
koyama @ beatcraft.com
koyama @ hoge.org
PHP-users メーリングリストの案内