Регистрация
Вход через соцсети
Восстановление пароля

Счетчик скачивания файлов

Новый топик
09.07.2008, 16:03
Ответить | Цитировать
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

Если у кого-то уже был опыт создания сабжа, будьте добры, подскажите вариант решения задачи. Хотя бы в каком направлении двигаться.

P.S.
По идее можно с помощью аякса задачу решить, но может быть есть вариант с использованием стандартных средств NetCat?

chance favours the prepared mind
09.07.2008, 16:30
Ответить | Цитировать
Гость
Гость

Можно ссылку на скачивание отправлять на php-скрипт, который инкрементит значение в БД и после этого отдает файл. Пример: http://www.svetozone.ru/price/price_26.html
Аяксом тоже, думаю, достаточно просто, но наткнувшиеся поисковики и остальные роботы не посчитаются (это в том случае, если нужно по файлу еще какую-либо статистику собирать, кроме количества скачиваний).
10.07.2008, 09:38
Ответить | Цитировать
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

Да будет так.) Большое Вам спасибо.

chance favours the prepared mind
11.07.2008, 15:27
Ответить | Цитировать
Гость
Гость

d писал(а):
Можно ссылку на скачивание отправлять на php-скрипт, который инкрементит значение в БД и после этого отдает файл.

Можно сслыку
12.07.2008, 10:06
Ответить | Цитировать
Alexey Lyubimov

Зарегистрирован:
2008-02-28
Сообщений: 19

d писал(а):
Можно ссылку на скачивание отправлять на php-скрипт, который инкрементит значение в БД и после этого отдает файл. Пример: http://www.svetozone.ru/price/price_26.html


Пожалуйста, разместите ссылку на конкретный скрипт или опубликуйте сам код скрипта, который необходимо вписать в NetCat.

p.s.
Приятно было бы видеть этот функционал уже встроенным в NetCat.

С уважением, тифлопедагог, специалист по accessibility. http://lyubimov.su
12.07.2008, 13:22
Ответить | Цитировать
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

В нашем деле самое главное – это не «как», а «что»... )

Код:
<?
$NETCAT_FOLDER = join( strstr(__FILE__, "/") ? "/" : "\",
array_slice( preg_split("/[/\]+/", __FILE__), 0, -4 ) )
.(strstr(__FILE__, "/") ? "/" : "\" );
include_once ($NETCAT_FOLDER."vars.inc.php");
if (!mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD)) exit();
mysql_select_db($MYSQL_DB_NAME);
$id = (isset($_GET['id']) and !empty($_GET['id'])) ? $_GET['id'] : "";
$id = intval($id);
if ($id != 0) mysql_query("UPDATE MessageXX SET Count=Count+1
WHERE Message_ID=".$id);
$result = mysql_query("SELECT Virt_Name, File_Path FROM Filetable
WHERE Message_ID=".$id." AND Field_ID=XX");
if ($query_row = mysql_fetch_row($result))
{
$name = $query_row[0];
$path = $query_row[1];
if (!empty($name) || !empty($path))
header("Location: /netcat_files".$path."h_".$name);
else header("Location: /404/");
}
?>


chance favours the prepared mind
13.07.2008, 23:23
Ответить | Цитировать
d

Зарегистрирован:
2007-02-09
Сообщений: 93

да-да, именно так, практически строчка в строчкуулыбка

Мое скромное ИМХО - если перегружать ядро системы такими функциями (прямо скажем, далеко не самыми востребованными), то обычные пользователи погрязнут в настройках, не понимая, для чего они нужны.

А оформить это в виде доп. патчей/модулей - думаю, имеет смысл. Было б времяулыбка
13.07.2008, 23:25
Ответить | Цитировать
Alexey Lyubimov

Зарегистрирован:
2008-02-28
Сообщений: 19

Aykroyd, спасибо большое за код.
Простите гуманитария улыбка , а в каком месте кода шаблона или кода компанента его нужно поместить?
У меня Extra.

С уважением, тифлопедагог, специалист по accessibility. http://lyubimov.su
14.07.2008, 00:46
Ответить | Цитировать
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

alex_l писал(а):
а в каком месте кода шаблона или кода компанента его нужно поместить?


Ни в каком.)
Создайте отдельный PHP-файл (например, download.php) и положите его в /netcat/modules/default. Потом ссылайтесь на него из соответствующего компонента и передавайте ему $f_RowID объектов.

chance favours the prepared mind
29.07.2008, 08:05
Ответить | Цитировать
Alexey Lyubimov

Зарегистрирован:
2008-02-28
Сообщений: 19

Aykroyd писал(а):
Создайте отдельный PHP-файл (например, download.php) и положите его в /netcat/modules/default.

Сделал.

Aykroyd писал(а):
Потом ссылайтесь на него из соответствующего компонента и передавайте ему $f_RowID объектов.

А как это делается?
Что и где нужно прописать в компаненте 18 (простой файловый архив), чтобы это начало работать?

Пожалуйста... улыбка

С уважением, тифлопедагог, специалист по accessibility. http://lyubimov.su
198 196 2008-07-29 08:05:51 7477
Описание проекта