[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: счетчик скачивания файлов
denkut
Кто нибудь знает как сделать счетчик скачивания файлов на PHP? помогите сделать самы простой



Спустя 7 минут, 57 секунд (19.07.2009 - 16:07) Nikitian написал(а):
Давать ссылку на скрипт, в параметрах передавать идентификатор файла. После плюсадинства к файлу в хранилище информации делать редирект на файл
PHP
header('Location: /anyfile.txt');exit;

либо выдавать файл в потоке скриптом:
PHP
die(file_get_contents('anyfile.txt'));

Первый вариант предпочтительнее, т.к. можно настроить отдачу файла "лёгким" сервером, второй вариант не светит прямой линк на файл и качать его можно только через скрипт, но если много качать предполагается, то лучше пхп прикрутить к nginx, а не апачем отдавать, иначе памяти не напасётесь.

Спустя 9 часов, 12 минут, 3 секунды (20.07.2009 - 01:19) twin написал(а):
Цитата
помогите сделать самы простой

Самый самый простой, это выдать ссылку на файл в новом окне, а в него счетчик какойнибудь бесплатный. biggrin.gif

Спустя 13 дней, 18 часов, 50 минут, 14 секунд (3.08.2009 - 20:09) uzver#111 написал(а):

Спустя 1 день, 21 час, 51 минута, 11 секунд (5.08.2009 - 18:01) Guest написал(а):
Здесь хорошо описано как зделать счетчикhttp://phpmaster.hut.ru

Спустя 4 часа, 26 минут, 13 секунд (5.08.2009 - 22:27) PandoraBox2007 написал(а):
SQL
UPDATE `files` SET dcount=dcount+1 where id ='$id'

Спустя 12 минут, 33 секунды (5.08.2009 - 22:39) PandoraBox2007 написал(а):
PHP
<?php

define
("DIR_UPLOAD"'uploads');
define("DIR_COUNTS"'counts');

$file substr(basename($_GET['file']), 064);
$name $file;
$name substr($name0strpos($name"."));

if (!
file_exists(DIR_UPLOAD DIRECTORY_SEPARATOR $file) || empty($file))
{
    
header('HTTP/1.x 404 Not Found');
    die(
'File for server not found!');
}
if (empty(
$name))
{
    die(
'File type not found.');
}

$file fopen(DIR_COUNTSDIRECTORY_SEPARATOR $name .".txt","w+");
flock($fileLOCK_EX);
$count fread($file100);
$count++;
ftruncate($file0);
fwrite($file$count);
flock($fileLOCK_UN);
fclose($file);

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.