Как сделать редирект php в такой стуации?

240
21 февраля 2018, 11:44

На сервере есть 2 папки:

    My server/
-public_html/
--index.php
--about.php
--shop.php
-video/
--film.mp4

Домен site.com ведёт к папке public_html. Как сделать так, чтобы при клике на site.com/about.php , началось скачивание film.mp4?

Answer 1
if (file_exists('video/'.$file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}

Вставить в начало файла about.php

Answer 2

т.е. надо чтобы и страница открылась и скачивание началось? Тогда через js

window.open(url, '_blank');

где url это одно из двух:

1) Ссылка на файл film.mp4, но не всегда начнётся скачивание, может открыться в встроенном плеере

2) Ссылка на php скрипт force download, что-то типо такого

    if(ini_get('zlib.output_compression')) { ini_set('zlib.output_compression', 'Off'); }
// get the file mime type using the file extension
switch(strtolower(substr(strrchr($file_name, '.'), 1))) {
    case 'pdf': $mime = 'application/pdf'; break;
    case 'zip': $mime = 'application/zip'; break;
    case 'jpeg':
    case 'jpg': $mime = 'image/jpg'; break;
    default: $mime = 'application/force-download';
}
header('Pragma: public');   // required
header('Expires: 0');       // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: '.gmdate ('D, d M Y H:i:s', filemtime ($file_name)).' GMT');
header('Cache-Control: private',false);
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($file_name));    // provide file size
header('Connection: close');
readfile($file_name);       // push it out
exit();
READ ALSO
JOIN запрос из двух связанных таблиц

JOIN запрос из двух связанных таблиц

Проясните пожалуйста, сам понять вообще не могуИмеется 2 таблицы, posts и user

188
Yii2 установить пустое значение

Yii2 установить пустое значение

Есть таблица deal, которая состоит из id, name, connect_dealПоследний столбец содержит id связанной строки этой же таблицы, если он есть

209
работа с запросами

работа с запросами

как этот запрос сунуть в ассоциативный массив со всеми полями

202