如何制作二进制文件?

时间:2014-04-23 19:07:04

标签: php binaryfiles

我想使用PHP创建二进制文件,我想使用该二进制文件来存储一系列整数,例如

66 23 44 55 80 258 

以二进制形式保存一些内存空间,因为它应该比文本文件小得多。我问的是如何使用PHP编写二进制文件?我知道您可以使用file_put_contents()创建一个文本文件但是如何编写二进制文件?

1 个答案:

答案 0 :(得分:2)

这是一个解决方案:

$fHandle=fopen("sampleFile","wb");//opens for writing

//pack (signed) short ints(16 bit) in binary string (see documentation for more options)
//signed short should do for int's in range –32768 to 32767 and unsigned - 0 to 65,535
$byteArray = pack("s*", 32, 12, 14, 18, 1066);

fwrite($fHandle, $byteArray);//write data to the file
fclose($fHandle);

阅读文件时:

$fHandle=fopen("sampleFile", "rb");
$bArray=fread($fHandle, filesize("sampleFile"));
$intArray=unpack("s*", $ba2);//unpack it with the same mode as you pack()'d it

echo $intArray[0];//should give 32
echo $intArray[1];//should give 12
echo $intArray[4];//should give 1066

编辑:更改了一些字符串以纠正标点符号错误