PHP fclose将0x30 0x33写入文件末尾

Vinicius疲劳

我正试图从一个十六进制字符数组创建一个二进制文件,它按预期在文件上工作,但是fclose在文件末尾写入意外的0x31、0x30和0x33字节。

例如,在Ruby中不存在这种行为,有人知道为什么吗?

$bytes_array = str_split('1f8b08082907ac5a0400425231335f543133343535395f52494345433135305f343432373800cd96596e83301086df2bf50e39823dbb5f5ba552a4b66996deff2a1d0cc16c7d098b1809bc8d07cfa77f00c1b76bc47b44624ea136668d260ad1fb82d54c8c163082890fd5e4d0b17a0bd50d42b2c0658abc6f601e3281c7f088aac1a31f262c74cc87972801a2fd5c4f5f9dc57c0ea93a836d6567b16f0ed5325244f61de130d35e5ffea1050925621eb4b402ba9722ca3b74423cd2a85c2924f0a64ce1142d421a9f644c2b3fd08eb7fbf9f27b5c8016ac470bd92013a86e455b9ea8a862374423aa3a1714a1072dcc57a165d6d04ac8a3834c692bd3fa387ddeafe7db4c5a84b0a6b650d4531fd04253105f1ad1aa98e41b064f85cb14f2f3b41a55d5b816a0b5a6b65a5ad0a1452a9e34f65e3b8faacbbe91dd9f9ba999da5a9a166e410b7bdab200092669d56e89d35e69d116b4a8a72d028dd27b49fb6aeb0615d0b612695f95c85bd0e2aeb6888c85b4dd3fd41690d15eb5255bd0d23ead08436d359c72e3244b25c2be68e916b4ac5789a80030fc2696dfd314d2cc3f0890b568d902b4fe00839a3179cc0b0000', 2);
$file = fopen("arq.gzip", "w+");
$val = $bytes_array[0];
eval(' $byte = ' . "0x$val;");
fwrite($file, chr($byte));
fclose($file);

结果在此文件上:

十六进制文件预览

好吧,看起来这不会影响最终文件,即使使用此0x31 0x33 0x30,我也可以正常使用gzip。但是最好知道这意味着什么。

Vinicius疲劳

好吧,看起来这不会影响最终文件,即使使用此0x31 0x33 0x30,我也可以正常使用gzip。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章