错误500图像base64

时间:2017-09-10 15:48:08

标签: php bitmap xampp base64

大家好日子,这是我第一次在这里发帖。

我想使用编码为base64的图片在我的域中上传图片, 我的图片已完全上传到服务器,但我仍然收到服务器错误500 , 我的php.ini文件中的memory_limit是128M`
我正在使用XAMPP服务器

    <?php

header('Content-type : bitmap; charset=utf-8');

$encoded_string = $_POST['string_encoded']; //encoded string

$imagename = 'image.png';

$decoded_string = base64_decode($encoded_string);

$path = 'imageses/'.$imagename;

$file = fopen($path, 'wb');

fwrite($file, $decoded_string);
fclose($file);

?>`

1 个答案:

答案 0 :(得分:0)

假设image.png的大小为2MB。在这种情况下,只从base64解码它将大约64 * 2 MB写入内存,即128 MB。这可能是问题的原因。要解决此问题,请在php.ini中增加memory_limit。另一个可能的问题是脚本被加载多次,以并行方式进行相同的大型解码。如果一切都失败了,那么你仍然可以取得成功,但不能解码整个文件,一次只能解码一个小包,并在尽快计算时忘记包。