PHP Force Download

PHP Frameworks

A force download script in PHP can give you more control over a file download rather than providing a direct link.

Using a force-download script, you can:

  • Validate whether a user is logged in
  • Track total number of download
function force_download( $file, $new_name="filename.doc" )
  $dir = "";
  if ((isset($file))&&(file_exists($dir.$file))) {
    header('Content-type: application/force-download');
    header('Content-Disposition: inline; filename="' . $dir.$file . '"');
    header('Content-Transfer-Encoding: Binary');
    header('Content-length: '.filesize($dir.$file));
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.$new_name.'"');
  } else {
    echo "No file selected";

$file = 'myfile.doc';
$filename = "download";
$original_path = 'path/to/myfile.doc';
$file_new_name = $filename.".".end(explode(".",$original_path));

You will need to validate that the file does not provide access to your code, files you do not want to download, and so on.

Leave a Reply

Your email address will not be published. Required fields are marked *