[PHP-users 29213] PHP でのバイナリの扱いについて

Matsumoto Taichi taichino @ naoko-takeuchi.net
2006年 5月 16日 (火) 14:47:27 JST


初めて投稿させていただきます。
松本といいます。よろしくお願いします。

PHPのバイナリデータの扱いについて質問させてください。

ファイルをバイナリデータとして
読み込み、その値を基にして処理を行いたいのですが、
うまく行きません。
読み込みたいファイルは暫定的に4バイトの整数値を保持させています。
(例えば0x00000001)
この値を取得したいのです。
(例で言うと1を取得したいです。)

やりたい処理をC言語で書くと以下のような感じです。
---
	int value = 0;
	FILE* file = fopen(filename, "r");
	if (file) {
		// 4バイト(int型のサイズ分)読み込む
		fread(&value, sizeof(int), 1, file);
	}
---

それを以下のように書いています。
---
	// ファイルをオープンする
	$fileHandle = fopen($filename, "rb");
	
	if ($fileHandle) {
		$content = fread($fileHandle, filesize($filename));
		// この $contentの値を元に処理したいが
		// 値が読み込めない
		var_dump($content);	// この出力は string(4) ""となる

		fclose($fileHandle);
	}
---

固定長フォーマットのファイルを扱うために必要なのですが、
このような処理をPHPで行うにはどのようにすればよろしいのでしょうか。
マニュアル等を探してみたのですが、探し出すことが出来ませんでした。

以上、大変お手数ですがご教授願えないでしょうか。
よろしくお願いいたします。





PHP-users メーリングリストの案内