Claro que se puede.
Un ejemplo:
Código PHP:
Ver original<?php
// En versiones de PHP anteriores a 4.1.0, $HTTP_POST_FILES debe utilizarse en lugar
// de $_FILES.
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
echo "El archivo es válido y fue cargado exitosamente.\n";
} else {
echo "¡Posible ataque de carga de archivos!\n";
}
echo 'Aquí hay más información de depurado:';
print "</pre>";
?>
Leete la documentación sobre los métodos (move_uploaded_file) y variables ($FILES) que aparecen que están en la página oficial de PHP en español : http://www.php.net/manual/es/
Luego tendrías que guardar la ruta en la base de datos y ya está.