在不同的计算机上创建图片时生成不同的内容

时间:2013-01-24 22:59:39

标签: php

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

$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的另一台机器上尝试它,则输出非常奇怪。例如。如果您使用less打开文件,则会找到\0而不是所需的^@字符。

为什么会这样?

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

1 个答案:

答案 0 :(得分:0)

$picture = convert_uudecode($picture);