Функция дает возможность создавать принудительную загрузку (скачивание) файла браузером.
Для чего нужно: у вас есть файл, например картинка, которую браузер по умолчанию просто откроет в себе, вам же нужно дать пользователю ее загрузить на свой компьютер.
Все что нужно указать – это путь к файлу, который нужно загрузить.
Приятного использования!
<? function forceDownload($new_file_to_down) { $name=(strrev($new_file_to_down)); $file=explode("." , $name,2); $dim = $file[0]; $dim=(strrev($dim)); if(ini_get('zlib.output_compression')) { ini_set('zlib.output_compression', 'Off'); } if( $new_file_to_down == "" ) { echo "<html><title>Ошибка! </title><body><BR><B>Ошибка:</B> Файл не был выбран.</body></html>"; exit; } elseif ( ! file_exists( $new_file_to_down ) ) { echo "<html><title>Ошибка! </title><body><BR><B>Ошибка:</B> Файл не найден.</body></html>"; exit; } header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); header("Content-Type: application/$dim"); header("Content-Disposition: attachment; filename=".basename($new_file_to_down).";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($new_file_to_down)); readfile("$new_file_to_down"); } ?>
пример
forceDownload('file.txt');