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 を搭載した 1 台のマシンで非常にうまく機能します。画像は適当に作成。PHP 5.3.19 を搭載した別のマシンで試してみると、出力は非常に奇妙です。たとえば、ファイルを開くと、目的の文字の代わりにless見つかります。\0^@

なぜこれが起こるのですか?

バイナリ文字列は、どちらの場合も UTF-8 でエンコードされた HTML5 Formdata を使用する Web サイトからの投稿要求の一部です。

4

1 に答える 1

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