错误500图像base64
问题描述:
美好的一天,这是我第一次在这里发布。错误500图像base64
我想用被编码为base64要上传的图片在我的域中的图像, 我的形象完全被上传到服务器,但我仍然得到一个服务器错误500, memory_limit的我php.ini文件是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);
?>`
答
让我们假设image.png的大小为2MB。在这种情况下,只有从base64解码才会将大约64 * 2 MB写入内存,即128 MB。这可能是问题的原因。要修复它,请在php.ini中增加memory_limit
。另一个可能的问题可能是脚本被加载了几次,并行地进行相同的大解码。如果一切都失败了,那么你仍然可以获得成功,但是不能解码整个文件,一次只解码一个较小的数据包,并在尽快计算时忘记数据包。
我试图使php_ini中的memory_limit = 512M然后保存,但输出仍然是相同的,我只是删除$ _POST方法并在其中输入编码的字符串默认值,它总是显示我相同的错误 –
@MarkDylanBMercado文件大小是多少? –
这是一个只有5.57 kb文件大小的png图像文件。 –