0

我想从传递的二进制字符串创建图片:

$fileName = uniqid().".".$imgType;
$fileName = "../tmp/".$fileName;
$f = fopen($fileName,'wb');
$picture =  mb_convert_encoding($picture, "UUENCODE", "UTF-8");

fwrite($f, $picture);


fclose($f);

这在一台装有 PHP 5.3.10-1ubuntu3.4 的机器上运行良好。图片已正确创建。如果在另一台使用 PHP 5.3.19 的机器上尝试,输出会很奇怪。例如,如果您使用lessthen 打开文件,您将找到\0而不是所需的^@字符。

为什么会这样?

二进制字符串是来自网站的发布请求的一部分,该网站使用在两种情况下都使用 UTF-8 编码的 HTML5 Formdata。

4

1 回答 1

0
$picture = convert_uudecode($picture);
于 2013-01-24T23:39:44.737 回答