Ese código va bien para imagenes pequeñas, pero falla si la imagen (y por tanto la cadena) es un poco grande. La única solución válida que he encontrado para todos los casos es hacer una función en php:
Código:
function base64_to_jpeg($imageData, $outputfile) {
$ifp = fopen( $outputfile, "wb" );
fwrite( $ifp, base64_decode( $imageData ) );
fclose( $ifp );
return( $outputfile );
}
Esto crea un archivo para la imagen a partir de la cadena dada y así no surge ningún problema.