For simplicity of design and code it sometimes makes sense to store files as binary data in a database column, however RDBMS isn't efficient for this and I wouldn't recommend this if performance is a primary concern.
If you decide to store on filesystem then absolute paths are much better than relative paths as you have persistence. Designate an absolute path to a folder to store files and make sure it is regularly backed up.
Another note of advice, when it comes to hosting, it is best that you NOT store files on the web server itself. Most web server machines are configured to do one thing and one thing, receive and serve network communication. Compared to a sophisticated file storage, backup, or other RAID array system the disk storage on most web servers is comparitively underpowered for large amounts of file I/O. Webservers are just not intended for this purpose.
I recommend an absolute path to a network share to a dedicated file server or other system intended for large amounts of file I/O as well as backups and redundancy.