我想使用PHP创建二进制文件,我想使用该二进制文件来存储一系列整数,例如
66 23 44 55 80 258
以二进制形式保存一些内存空间,因为它应该比文本文件小得多。我问的是如何使用PHP编写二进制文件?我知道您可以使用file_put_contents()创建一个文本文件但是如何编写二进制文件?
答案 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
编辑:更改了一些字符串以纠正标点符号错误