PHP:从HEX字符串创建文件

时间:2011-04-14 11:52:24

标签: php string file hex

我有一个表示为十六进制字符串的文件的内容,我想从该十六进制字符串重新创建该文件。我该怎么办?

其他信息
十六进制字符串取自firefox内存缓存条目,如下所示:

about:cache-entry?client=HTTP&sb=1&key=http://www.google.co.uk/images/nav_logo40.png

我正在处理这些条目中的<pre>元素以提取和连接HEX值。所以从下面的数据输出行中获取一个缓存条目:

00000000:  89  50  4e  47  0d  0a  1a  0a  00  00  00  0d  49  48  44  52  .PNG........IHDR

我正在制作这个

89504e470d0a1a0a0000000d49484452

我正在为每一行重复相同的过程,以便最终得到一个包含所有连接的十六进制值的大字符串。

1 个答案:

答案 0 :(得分:4)

您可以使用pack

file_put_contents($filename, pack('H*', $hex));

这会将十六进制表示的八位字节串转换为二进制:

var_dump(pack('H*', '313233'));  // string(3) "123"