如何使用PHP File API写入原始字节?
时间:2020-03-05 18:57:18 来源:igfitidea点击:
我想将原始字节流写入文件中的某个位置。
这是我目前所拥有的:
$fpr = fopen($out, 'r+'); fseek($fpr, 1); //seek to second byte fwrite($fpr, 0x63); fclose($fpr);
当前,它从字节偏移量1开始写入实际的字符串值" 99"。IE,它写入字节" 9"和" 9"。我只想写一个实际的1字节值0x63,恰好代表数字99.
谢谢你的时间。
解决方案
回答
fwrite()接受字符串。如果要向文件写入" 0x63"字节,请尝试" chr(0x63)"。
回答
我们正在尝试将int传递给接受字符串的函数,因此正在为我们将其转换为字符串。
这会写你想要的东西:
fwrite($fpr, "\x63");
回答
这是因为fwrite()期望将字符串作为第二个参数。尝试这样做:
fwrite($fpr, chr(0x63));
chr(0x63)返回一个字符串,该字符串包含一个ASCII码为0x63的字符。 (因此它将数字0x63写入文件。)