try it with just the
header("Location: $file_url");
you may find the first 2 headers you send confuse the browser.
You are telling that the next set of data it sees is going to be a PDF, then telling it to request a file from another location.
When the browsers asks for it new file the server will generate another set of headers.