Sí. Puedes utilizar un <input type="file"> para subir la imagen (recuerda que entonces debes indicar
enctype="multipart/form-data" dentro de la etiqueta <form>).
En la página que procesa el formulario. Guarda el nombre de la imagen en la BD y guarda el archivo subido en el directorio que te interese (para hacer esto, necesitarás tener el directorio creado y tener permisos de escritura).
Para guardar el archivo que subas, fíjate en este código:
Código PHP:
<?
$path = "/home/proyecto/web/fotos/";
if($archivo !=""){
@copy($archivo, $path.$archivo_name);
}
?>
(En este caso,
archivo era el nombre del <input type="file">)