我想从传递的二进制字符串中创建一张图片:
$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。
答案 0 :(得分:0)
$picture = convert_uudecode($picture);