Помогите пожалуйста
Написал функцию отправки файла пользователю
//~~~~~~~~~~~~~~~~~~~~~~~~
// отправить файл от сервера к пользователю
// $file_path - путь к файлу на сервере, который будем отправляться пользователю
// $file_name - предложить имя, под которым файл будет записан на компьютере пользователя
//~~~~~~~~~~~~~~~~~~~~~~~~
function output_file($file_path='', $file_name=''){
if (file_exists($file_path)){
// сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
// если этого не сделать файл будет читаться в память полностью!
if (ob_get_level()) {
ob_end_clean();
}
// по умолчанию совпадает с именем $file_path
if($file_name == ''){
$file_name = basename($file_path);
}
// заставляем браузер показать окно сохранения файла
header('Content-Description: File Transfer');
//header('Content-Type: application/octet-stream');
header('Content-Type: '.mime_content_type($file_path));
header('Content-Disposition: attachment; filename="'.$file_name.'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
readfile($file_path); // читаем файл и отправляем его пользователю
}
}
пример отправки файла пользователю брал тут -
https://www.php.net/manual/ru/function.readfile.php
После вызова этой функции output_file - php код прекращает роботу.
Комментирование exit - не решает проблему.
Проблема явно локализируется возле строчки - header('Content-Disposition: attachment; filename="'.$file_name.'"');
Север Apache на Windows, php5.6.25