从DB到浏览器以十六进制显示图像

时间:2012-03-15 19:21:58

标签: php sql-server image hex

我的数据(jpeg)存储在我的数据库(SQL Server)中,当我读到它时,我得到了一个十六进制代码。但我无法将其显示在浏览器中,它无法理解并显示纯代码。

Here's a hex code example

我需要帮助来实现这一目标。谢谢大家。

1 个答案:

答案 0 :(得分:3)

如果你有PHP> = 5.4,你可以使用hex2bin()

如果没有,您可以使用该页面上发布的替代功能: -

/**
 * Converts the hex representation of data to binary
 *
 * http://www.php.net/manual/en/function.hex2bin.php
 *
 * @param   string  $str        Hexadecimal representation of data
 *
 * @return  string              Returns the binary representation of the given data
 */
public function hex2bin($data)
{
    $bin    = "";
    $i      = 0;
    do {
        $bin    .= chr(hexdec($data{$i}.$data{($i + 1)}));
        $i      += 2;
    } while ($i < strlen($data));
    return $bin;
}

然后,您只需设置标题并将结果回显给浏览器。

通过查看PHP manual,您会感到惊讶。希望这对你有用,或者至少让你走上正轨。