ArtMikS
@ArtMikS

Как сделать редирект с файла на страницу скачивания?

Здравствуйте! Даже не знаю как загуглить. Суть проблемы:

Допустим, есть некий файл, который лежит на моем сайте. Пользователи оставляют прямую ссылку на него. Нужно, что бы при переходе по адресу example.com/test.zip
появлялась страница с обратным отсчетом. И только после этого юзер мог бы скачать файл.

Грубо говоря, нужно то же самое, что реализовано на файлообменниках.

Как так сделать?
Буду очень благодарен за любую информацию по этому вопросу.
  • Вопрос задан
  • 482 просмотра
Решения вопроса 1
alexdb
@alexdb
Общая схема для LAMP

1. Редирект на точку входа
Например на файл index.php в корневой директории example.com
в .htaccess:

RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !index.php
    RewriteRule .* index.php?url=$0 [L]


Это позволит при обращении по адресу "example.com/test.zip" запустить скрипт обработки с example.com/index.php
Так же рекомендуется скрыть остальные папки/файлы, использовать только точку входа для работы с проектом.

2. Написать скрипт обработки для точки входа(index.php).
Проверить существование файла, сгенерировать ссылку на него, сохранить ссылку во временном хранилище(например $_SESSION). Так же сгенерировать секретный токен, через какое время пользователю сможет быть доступен данный файл и на какой промежуток времени. Для работы с БД, файлами, авторизацией, логированием и тд рекомендую использовать легкий MVC фреймворк. Например: silex.sensiolabs.org

3.Отобразить пользователю страницу со счетчиком.
Рекомендую использовать template engine - smarty, twig & etc

4. Загрузка файла пользоватерлю.
В шаблоне template engine написать JS код которые по окончанию счетчика запускает AJAX запрос на сервер, проверяет токен, возращает файл на скачку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы