You really have three options:
- Changing the file name with every update
- Always generate HREF with GET parameter
- Send header information telling the browser that it always loads from the server
Option 1 - works in 100% of cases. It can be difficult to maintain
echo '<a href="files/pdfs/'.$row['FILENAME_FROM_DATABASE'].'">PDF</a>';
Option 2 - works in 99% of cases
echo '<a href="files/pdfs/filename.pdf?q='.microtime(true).'">PDF</a>';
3 - 99%
header("Pragma: public");
header("Cache-Control: maxage=1"); // <-- important
header('Expires: '.gmdate('D, d M Y H:i:s', time()+1).' GMT');
header('Content-type: application/pdf');
exit(file_get_contents(PATH_TO_PDF_FILE));