When you upload the files and save them to the hard drive, pick a random name. (There are lots of different ways to do that. I like to md5 the time + a secret string.) Whatever means you use to pick a random name, save the file under that name. Then write the new name and the old name to a database along with the user's userid.
When the user logs in, read the database to find all the files that belong to their userid. Then make a series of links like this:
print "<a href=\"usersdata/$random_name\">$original_name</a>";
This way, the user can see links to all their files with their original name... but nobody will be able to see other people's files because the only links they see are to their own files.
The reason you store the files with a random name is so that (A) hackers can't guess the names of other people's files that might be in the directory and (😎 so that nobody has the same file name as some other user's files.
This method is one of about six ways to do it. It's not necessarily the best way to do it but it's easy and secure. Once you get good at doing it this way, you'll be able to come up with some other ways that work too.