Отдача файлов на лету

  1. function file_dload($file, $name = 'test.txt', $type = 'application/octet-stream', $del = 1) {  
  2.         ob_end_clean();  
  3.         ob_start();  
  4.         header('Content-Description: File Transfer');
  5.         header('Content-Type: '.$type);  
  6.         header('Content-Disposition: attachment; filename=' . $name);
  7.         header('Content-Transfer-Encoding: binary');
  8.         header('Expires: 0');
  9.         header('Cache-Control: must-revalidate');
  10.         header('Pragma: public');
  11.         header('Content-Length: ' . filesize($str));
  12.         readfile($file);
  13.         if($del)
  14.             unlink($file);
  15.         flush();
  16.         return true;
  17.     }
Иногда нужно создать временый файл и отдать пользователь, чтоб не засорять хост можно отдать файл "на лету" зразу же удалить.

Пример:
  1. file_dload('dir/dir/file.zip', 'файл созданый на лету.zip', 'application/zip', 1);
  2. file_dload('dir/dir/file.txt', 'файл созданый на лету.txt');

Реклама

Мы в соцсетях

tw tg yt gt