Posted By

JohnnyGamba on 07/19/11


Tagged


Versions (?)

Force a file to be downloaded


 / Published in: PHP
 

  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  

You need to login to post a comment.