Force a file to be downloaded


/ Published in: PHP
Save to your folder(s)



Copy this code and paste it in your HTML
  1. /**
  2.  * Downloader
  3.  *
  4.  * @param $archivo
  5.  * path al archivo
  6.  * @param $downloadfilename
  7.  * (null|string) el nombre que queres usar para el archivo que se va a descargar.
  8.  * (si no lo especificas usa el nombre actual del archivo)
  9.  *
  10.  * @return file stream
  11.  */
  12. function download_file($archivo, $downloadfilename = null) {
  13.  
  14. if (file_exists($archivo)) {
  15. $downloadfilename = $downloadfilename !== null ? $downloadfilename : basename($archivo);
  16. header('Content-Description: File Transfer');
  17. header('Content-Type: application/octet-stream');
  18. header('Content-Disposition: attachment; filename=' . $downloadfilename);
  19. header('Content-Transfer-Encoding: binary');
  20. header('Expires: 0');
  21. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  22. header('Pragma: public');
  23. header('Content-Length: ' . filesize($archivo));
  24.  
  25. flush();
  26. readfile($archivo);
  27. }
  28.  
  29. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.