Будьте всегда в курсе!
Узнавайте о скидках и акциях первым
Новости
Все новости
21 сентября 2023
Hoco EQ4 TWS Sport
13 сентября 2023
Защитные стекла для IPhone 15!!!
24 августа 2023
Наушники полноразмерные беспроводные Hoco W27
Контролируемое скачивание
Скачать файл manual.zipСкачать файл private_file.zip
На многих сайтах требуется организовать контролируемое скачивание общедоступных файлов или файлов с ограниченным доступом.
В каталоге /examples/download/ находится пример скачивания общедоступных файлов с сайта с фиксацией событий в модуле статистики. Все файлы для скачивания лежат в каталоге /examples/download/files/. При создании ссылки на файл для скачивания каталог /files/ не указывается.
При клике по созданной ссылке вызывается файл, указанный как обработчик 404 ошибки в файле .htaccess в текущем каталоге. В нашем примере это файл download.php.
В этом же каталоге есть скрипт download_balance.php. Он позволяет регулировать нагрузку скачиваний между несколькими серверами. На этих серверах должны быть абсолютно идентичные каталоги /download/ с одинаковым набором файлов и подкаталогов.
Для того чтобы подключить этот скрипт необходимо:
- В файле .htaccess установить обработчик 404 ошибки на этот скрипт.
- В скрипте download_balance.php раскомментировать массив $arrHOSTS и задать в нем адреса серверов для скачиваний и вероятности выбора того или иного сервера.
<?
$PERM["/"]["*"]="R";
?>
В каталоге /examples/download/download_private/ приведен пример реализации скачивания файлов с ограниченным доступом с фиксацией события в модуле статистики.
Все файлы лежат в каталоге /examples/download/download_private/files/, а ссылка на файл для скачивания имеет вид:
<a href="/examples/download/download_private/private_file.zip"> private_file.zip</a> (т.е. без каталога /files/).
Настройки произведены таким образом, что только зарегистрированные пользователи имеют право на скачивание этого файла из каталога. Доступ на чтение каталога /files имеют только зарегистрированные пользователи.
Файл download_private.php вызывается в этом случае как обработчик 404 ошибки.