Форум → Программирование → PHP для идиотов → Подсчет скачек файлов
Подсчет скачек файлов
-
7 января 2008 г. 13:03, спустя 9 минут 32 секунды
1. Перехватывать все обращения к каталогу /files/ на php-сценарий и им уже выдавать файл.
2. Анализировать логи апача. -
7 января 2008 г. 13:04, спустя 58 секунд
да, тока на самом деле это не будет прямой ссылкой, а будет диктоваться как допустим: h_tp://site.com/count.php?f=/files/123.mp3
через мод реврайтhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
7 января 2008 г. 13:18, спустя 13 минут 33 секунды
mod_rewrite в помощь
в .htaccess пишешь что-то типа:RewriteEngine on
RewriteBase /
RewriteRule ^files/([0-9]+)\.mp3$ script.php?file_id=$1
т.о. все запросы типа h_tp://site.com/files/123.mp3 перенаправляются к некоему сценарию script.php, с указанием в $_GET['file_id'] номера файла. Там: проверяешь - есть ли такой файл; наращиваешь счётчик скачиваний данного файла; посылаешь заголовок header('Content-type: audio/mpeg'); и делаешь readfile("xxx/xxx/xxx/xxx/123.mp3");
Вот ещё почитай про докачку файлов -
8 января 2008 г. 19:45, спустя 1 день 6 часов 27 минут
Спасибо всем за ответы!!!
Но еще вопрос.
А от применения в данном случае функции readfile() сервак не загнется? А то файлы бывают и большие. -
8 января 2008 г. 19:58, спустя 12 минут 24 секунды
тогда используй "Location"
h_tp://site.com/files/123.mp3
…mod_rewrite…
$count++;
header("Location: h_tp://site.com/realFilesDir/123.mp3");https://smappi.org/ - платформа по созданию API на все случаи жизни -
8 января 2008 г. 20:18, спустя 20 минут 38 секунд
тогда используй "Location"
h_tp://site.com/files/123.mp3
…mod_rewrite…
$count++;
header("Location: h_tp://site.com/realFilesDir/123.mp3");
В этом случае будет бесконечный цикл
RewriteRule перебрасывает на скрипт, а скрипт обратно в папку и так бесконечно.
А какой антилич посоветуете? А то я их не юзал раньше никогда. -
8 января 2008 г. 22:06, спустя 1 час 47 минут 53 секунды
В этом случае будет бесконечный цикл
RewriteRule перебрасывает на скрипт, а скрипт обратно в папку и так бесконечно.
Вы не правы, почитайте документациюhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
8 января 2008 г. 22:17, спустя 10 минут 49 секунд
А от применения в данном случае функции readfile() сервак не загнется? А то файлы бывают и большие.
не загнётся. Грубо говоря, какая разница? Чтобы послать файл пользователю, сервер всё равно должен его прочитать.
Вот, кстати, по поводу имени файла, мож пригодится.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!