migrar localhost a servidor web
Bueno, eso depende del que te ofrece el hospedaje para que puedas alojar todos tus archivos. Por lo general se pone todo dentro de una carpeta del servidor que se llama "httpdocs" ahí van todos tus archivos (index.php. imagenes, html, y demas carpetas que tengan que ver con tu sitio).
Ahora para lo que es base de datos especialmente, como dije depende de tu hosting, por ejemplo te deben ofrecer una manera de entrar a una especie de panel donde puedes controlar y administrar todo tu sitio (en mi caso es el plesk y que debes entrar con un usuario y contraseña) y ahí debes tener una parte para tu base de datos, debes crearla con usuario y contraseña, luego puedes entrar a esa base de datos (por medio de phpmyadmin) y importar tu base de datos en el caso de MySQL sera un archivo .sql que anteriormente exportaste también con la herramienta phpmyadmin o la que sea.
Claro que también debes cambiar tu conexión a la base de datos en tu archivo de php, ya que tienes que poner el servidor o ip, usuario y contraseña.
Bueno espero que te aclare un poco el panorama.