ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム:「ぼろぼろに」;
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

質問はトピックではありません 似ている枝を探す


-=CrazyFish=-   (2001-11-09 16:28) [0]

Народ, хочу на своей страничке поставить счетчики скачиваний файлов. Не подбросите ли какую ни будь доку как это делать?
よろしくお願いします。



Oleg Gashev   (2001-11-09 16:46) [1]

В Spylog есть.



anod   (2001-11-09 17:16) [2]

Простейщий на перле

#!d:/web/perl/bin/perl -w

use strict;
use CGI;

my $q = CGI->new;
my %counter;

print $q->header(-charset => "cp-1251");
dbmopen (%counter, "counter", 0666);
$counter{"Total"} = 0 if !$counter{"Total"};
print ++$counter{"Total"};
dbmclose (%counter);

А вызыват его так:
Посещений: <!--#include virtual="/cgi-bin/counter.pl"-->



Donal   (2001-11-09 17:50) [3]

так ведь речь о счётчиках скачиваний, а не показов страниц
и делается это и правда либо на перле, либо на PHP, либо на любом другом языке серверных скриптов...
суть в том, что вместо ссылки на файл даётся ссылка на скрипт с параметром, который однозначно идентифицирует файл..а скрипт увеличивает счётчик и выдаёт клиенту сам файл...
попробую написать на PHP, потому что самому интересно :-)). если что получится, дам знать :-)



Donal   (2001-11-09 18:35) [4]

вот и результат :-) итак - счётчик скачиваний (только учёт) на PHP :

в любом месте сайта пишем файл каталога, где указываются имена файлов, которые можно скачать и через разделитель число их скачиваний. Разделитель может быть любым, главное, чтобы он не мог быть использован в путях к файлу.
пример такого файла (здесь разделителем является пробел):
cat1/subcat1/file1.zip 0
cat2/subcat2/file2.zip 0


<?
$delimeter=" "; //задаём разделитель
$catname="filecat.txt"; //задаём имя файла каталога
$files=File ($catname); //загружаем список файлов
$filelist=explode ($delimeter, $files[$fileno], 2); //читаем параметры
$filelist[1]+=1; //увеличиваем счётчик
$files[$fileno]=implode ($filelist, $delimeter); //объединяем параметры
$file=fopen ($catname, "wt"); //открываем файл на перезапись
for ($i=0; $i < count ($files); $i++)
fputs ($file, trim ($files[$i])."\n"); //пишем туда данные о файлах
fclose ($file); //закрываем файл
header ("Location: {$filelist[0]}"); //перенаправляем браузер на файл
?>


как это использовать :
на странице ставим такую ссылку HREF="download.php?fileno=x"
где вместо х подставляется номер файла в списке (начиная с нуля)
---
этот пример немного недоработан...так, по хорошему ещё надо было бы блокировать файл, чтобы не было конфликтов при одновременном доступе.



anod   (2001-11-09 20:35) [5]

Упс, не прочитал....



Anatoly Podgoretsky   (2001-11-09 22:48) [6]

Если хочешь по хорошему то и этого недостатчно, улучшение возможны следующие
1. вместо одного файла по одному на каждый, благоприятно влияет на скорость и количество ошибок при блокировках, иначе существует возможность заблокировать доступ до всех файлов.
2. При блокирование, надо дополнительно отлавливать мертвые блокировки и удалять их.

Без выполнения этих мер предосторожности проблемы гарантированы, особенно при интенсивной работе.



ページ: 1 全枝

フォーラム:「ぼろぼろに」;
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階









メモリ:0.83 MB
時間:0.039 c
14-22334
Alex_A
2001-11-03 12:14
2002.01.08
グラフィックス!!!!!!!!! 重要な!!!!!!!!!!!!!!!!!! ヘルプ!!!!!!!!!!!!!!!!!


14-22381
フェリックス
2001-11-08 20:41
2002.01.08
それは何でしたか?


14-22380
バーテンダー
2001-11-09 10:37
2002.01.08
Muscovites、Win APIリファレンスの販売を見たことがありますか?


14-22405
コザノフ
2001-11-12 11:53
2002.01.08
英語パズル


14-22382
パノフ
2001-11-08 18:54
2002.01.08
継続http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1005233643&n=3





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア Russian セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский