0
votes

I'm trying to create a download link for a PDF file. It works fine if Adobe Reader is installed, but if I uninstall it, it tries to open in browser and fails.

Please tell me what is the actual problem about this?

Thanks in Advance.

2
You can't control a file once it's on a client's machine.Martin Bean

2 Answers

1
votes

The problem is that when adobe reader is installed than it automaitcally gets the header of .pdf file and show the file.

You can use this.It will always prompt to download the file ..

$path="uploads/";

$actualfilename=$path.$row["name"];

//name of the file or location of file..
if($typeofview=="download") {
    @readfile($actualfilename);
    header('Content-type: application/pdf');
    header('Content-Disposition: attachment; filename="' . $actualfilename. '"');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize($actualfilename));
    header('Accept-Ranges: bytes');
    exit;
}
0
votes

This is a duplicate of this question but here is the answer:

$path_to_file = '/var/www/somefile.pdf'; //Path to file you want downloaded
$file_name = "somefile.pdf"; //Name of file for download
header('Pragma: public');   // required
header('Expires: 0');    // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-Type: application/octet-stream");
header('Content-Disposition: attachment; filename="'.$file_name.'"');
header('Content-Transfer-Encoding: binary');
readfile($path_to_file);
die();