PHP Force Download

array_map

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
<?php
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.'"');
    readfile("$dir$file");
  } else {
    echo "No file selected";
  }
}

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

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.

For any types of queries, you can contact us on info@namasteui.com.

You may like:  Hello, World - Your First PHP

Leave a Reply

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