hace algun tiempo deje
este aporte que hace mas o menos eso.
una vez que la imagen es enviada al servidor utilizo una funcion similar a esta para guardarla como archivo.
Código PHP:
function uploadImgBase64 ($base64,$name){
$binBase64 = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $base64));
$path='/ruta/'.$name.'.png';
if(file_put_contents($path, $binBase64)===false){
return false;
}
else{
return true;
}
}
Código PHP:
uploadImgBase64('data:image/png;base64,iVBORw0KG............','nombre_imagen');
El nombre debe de ser unico, puedes utilizar time() para generar nombres que no se repitan y tener ademas una marca de tiempo.
Mi recomendacion es que guardes la imagen en un directorio como archivo el nombre en la base de datos