PHP base64_docode保存损坏的图像

PHP base64_docode保存损坏的图像,php,android,image,base64,Php,Android,Image,Base64,我正在从android应用程序向PHP发送base64编码图像。有时它存储完整图像(4KB),有时(3KB)(相同图像)。当我在毕加索中使用URL时,4KB大小的图像工作正常,但3KB大小的图像未加载,显示解码错误。 这是我的PHP代码(有时可以使用) 然后我在PHP中执行SQL操作来存储图像路径。是否有可能在半解码图像(已损坏)上执行下一个代码操作。您需要删除显示数据:图像/png;base64,位于图像数据的开头。实际的base64数据在此之后 使用以下功能:- function base6

我正在从android应用程序向PHP发送
base64
编码图像。有时它存储完整图像(4KB),有时(3KB)(相同图像)。当我在毕加索中使用URL时,4KB大小的图像工作正常,但3KB大小的图像未加载,显示解码错误。 这是我的PHP代码(有时可以使用)


然后我在PHP中执行SQL操作来存储图像路径。是否有可能在半解码图像(已损坏)上执行下一个代码操作。

您需要删除显示
数据:图像/png;base64,位于图像数据的开头。实际的base64数据在此之后

使用以下功能:-

function base64_to_png($base64_string, $output_file) {
    $ifp = fopen($output_file, "wb"); 

    $data = explode(',', $base64_string);

    fwrite($ifp, base64_decode($data[1])); 
    fclose($ifp); 

    return $output_file; 
}
如果您想使用
str\u replace
功能,则可能会在以下方式下工作。我不确定:)


希望它能帮助您:)

您需要删除显示
数据:image/png的部分;base64,位于图像数据的开头。实际的base64数据在此之后

使用以下功能:-

function base64_to_png($base64_string, $output_file) {
    $ifp = fopen($output_file, "wb"); 

    $data = explode(',', $base64_string);

    fwrite($ifp, base64_decode($data[1])); 
    fclose($ifp); 

    return $output_file; 
}
如果您想使用
str\u replace
功能,则可能会在以下方式下工作。我不确定:)


希望它能帮助你:)

但有时它能保存好的形象。但有时它会让你兴奋不已<代码>数据:图像/png;base64是否执行了此操作?我能用这个吗<代码>$encodedImage=str_replace('数据:image/png;base64','',encodedImage)我能再问一件事吗。。在服务器上保存后,
$file='Pics/'。uniqid()。巴布亚新几内亚';文件内容($file$data)如何从PHP重命名文件名@拉维·海兰尼:但有时它能保存好的形象,但有时它会使人兴奋<代码>数据:图像/png;base64是否执行了此操作?我能用这个吗<代码>$encodedImage=str_replace('数据:image/png;base64','',encodedImage)我能再问一件事吗。。在服务器上保存后,
$file='Pics/'。uniqid()。巴布亚新几内亚';文件内容($file$data)如何从PHP重命名文件名@拉维·希拉尼
$fname = filter_input(INPUT_POST, "name");
$encodedImage = filter_input(INPUT_POST, "image");
$encodedImage = str_replace('data:image/png;base64,', '', $encodedImage);
$encodedImage = str_replace(' ', '+', $encodedImage);
$encodedImage = base64_decode($encodedImage);
file_put_contents($fname, $encodedImage);
print "Image has been saved!";