Функция дает возможность создавать принудительную загрузку (скачивание) файла браузером.
Для чего нужно: у вас есть файл, например картинка, которую браузер по умолчанию просто откроет в себе, вам же нужно дать пользователю ее загрузить на свой компьютер.
Все что нужно указать – это путь к файлу, который нужно загрузить.
Приятного использования!
<?
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');