错误500图像base64

错误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。另一个可能的问题可能是脚本被加载了几次,并行地进行相同的大解码。如果一切都失败了,那么你仍然可以获得成功,但是不能解码整个文件,一次只解码一个较小的数据包,并在尽快计算时忘记数据包。

+0

我试图使php_ini中的memory_limit = 512M然后保存,但输出仍然是相同的,我只是删除$ _POST方法并在其中输入编码的字符串默认值,它总是显示我相同的错误 –

+0

@MarkDylanBMercado文件大小是多少? –

+0

这是一个只有5.57 kb文件大小的png图像文件。 –