Ну, ваше решение выше зависит от того, что изображение является файлом jpeg. Для общего решения я использовал
$img = $_POST['image']; $img = substr(explode(";",$img)[1], 7); file_put_contents('img.png', base64_decode($img));