...
case '5':
$c = mysqli_fetch_assoc(connectTables("ЗАПРОС"));
$file = mysqli_fetch_assoc(connectTables("ЗАПРОС"));
header("X-Accel-Redirect: /access_files/".$file["img"]);
break;
...
location /downloads/ {
rewrite ^/downloads/(.*) /down.php?file_name=$1 break;
fastcgi_pass unix:/tmp/fastcgi_socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /access_files {
alias /var/www/chat.sms-agent/chatImages;
add_header Content-type application/octet-stream;
internal;
}
sim3x опишите задачу в вопросе
Задача состоит в том, чтобы при нажатии на файл AJAX запускал PHP файл с нужными данными, после, PHP файл производит проверку и отдает файл на скачку по фейковой ссылке пользователю.
rewrite ^/f/(.*)/(.*)$ /downloadFile.php?id=$1&file=$2 last;
location /file/ {
internal;
root /var/www/domain/c;
}
/* ваш скрипт функция которая будет генерировать или как то там вставлять ссылки на ваши файлы */
$('#c').append('<p id="" class="from-me downloadFile"><a href="/f/'+id+'/'+idImage+'" class="download" download><img src="'+url+'" class="downloadImage"/></a><i class="fas fa-file-download"></i><span class="size">'+size+'</span></p>');
// все проверки по которым будет подставляться нужный файл
...
header('Content-Length: '.$filesize);
header('Content-Type: '.$type); // Тип файла по его расширению
header('Content-Disposition: attachment; filename='.$filename); // Имя файла
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('X-Accel-Limit-Rate: 1024000'); // Ограничение скорости скачивания
header('X-Accel-Buffering: yes');
header('X-Accel-Charset: utf-8');
header('X-Accel-Redirect: '.$files); // Путь к папке для правил редиректа nginx