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