Всем доброго времени суток, стоит задача создать контроллер реального количества скачиваний файлов не просто обработчик нажатия на onсlick а учитывать отмену скачивания и обрыв соединения если файл хоть теоретически не скачен не изменять количество скачиваний (точнее zip файлов если это важно) (сервер nginx) в результате должна получиться статистика например Храбан Олександр в 19:00 скачал файл Eset.zip, либо Каркуша Артемий пытался скачать файл но не скачал данную проблему необходимо решить желательно через php?
Нужно считывать с БД count и при скачивании файла, UDATE +1 count. использовал RedBeanPHP. Вот пример:
require('connect.php');
header("Content-type: text/html; charset=windows-1251");
$array = array("file.pdf", "files/file.pdf", "files/file2.pdf", "files/file3.pdf");
function updateFile($count, $id)
{
$query = R::getAssoc("UPDATE files SET count = $count WHERE id = '$id'");
return $query;
}
function getCount($id)
{
$query = R::findOne( 'files', 'id = '.$id.'');
return $query;
}
if ($_GET['id'] == 1){
$file = $array[1];
header('Content-Disposition: attachment; filename='.$array[1].'');
$count = getCount(1);
updateFile($count['count'] + 1, 1);
readfile($file);
}
else if ($_GET['id'] == 2)
{
$file = $array[2];
header('Content-Disposition: attachment; filename='.$array[2].'');
$count = getCount(2);
updateFile($count['count'] + 1, 2);
readfile($file);
}
else if ($_GET['id'] == 3)
{
$file = $array[3];
header('Content-Disposition: attachment; filename='.$array[3].'');
$count = getCount(3);
updateFile($count['count'] + 1, 3);
readfile($file);
}
else
{
header('Location: http://site.com/');
exit;
}
в примере несколько файлов..
connect.php - подключение к БД
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Появилась необходимость перед сохранением модели проверять наличие связейНапример, перед пометкой товара "удалено" нужно проверить наличие...
Ищу библиотеку советников и сигналов на phpНашел ta-lib - но она на питоне, есть что то подобное для PHP?
Есть решение, состоящее из двух проектовПервый это статическая библиотека