Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Agarrar";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

a questão não é o tópico Encontre agências semelhantes


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

Pessoal, quero colocar contadores de downloads de arquivos na minha página. Você poderia jogar algum tipo de doca como fazê-lo?
Agradecemos antecipadamente.



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

Em Spylog é.



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

O mais simples na pérola

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

use estrito;
use CGI;

meu $ q = CGI-> novo;
meu% contador;

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

E eles o chamam assim:
Visitas: <! - # include virtual = "/ cgi-bin / counter.pl" ->



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

Então, na verdade, estamos falando de contadores de downloads, não de impressões de páginas
e isso é realmente feito em pearl, ou em PHP, ou em qualquer outra linguagem de script de servidor ...
A linha inferior é que, em vez de um link para um arquivo, um link para um script é fornecido com um parâmetro que identifica exclusivamente o arquivo ... e o script incrementa o contador e fornece ao cliente o próprio arquivo ...
Vou tentar escrever em PHP, porque é mais interessante :-)). se isso der certo, me avise :-)



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

aqui está o resultado :-) so - o contador de downloads (somente accounting) em PHP:

em qualquer parte do site, nós escrevemos um arquivo de catálogo onde os nomes dos arquivos que podem ser baixados são indicados e o número de downloads através do separador. O separador pode ser qualquer coisa, o principal é que não pode ser usado nos caminhos dos arquivos.
um exemplo de tal arquivo (aqui o separador é um espaço):
cat1 / subcat1 / file1.zip 0
cat2 / subcat2 / file2.zip 0

<? $ delimeter = ""; // define o delimitador $ catname = "filecat.txt"; // define o nome do arquivo de diretório $ files = Arquivo ($ catname); // carrega a lista de arquivos $ filelist = explode ($ delimeter, $ files [$ fileno], 2); // leia os parâmetros $ filelist [1] + = 1; // incrementa o contador $ files [$ fileno] = implodir ($ filelist, $ delimeter); // combina os parâmetros $ file = fopen ($ catname, "wt"); // abre o arquivo para sobrescrever para ($ i = 0; $ i <count ($ arquivos); $ i ++) fputs ($ file, trim ($ files [$ i]). "\ n"); // grava dados de arquivo lá fclose ($ file); // fecha o arquivo header ("Localização: {$ filelist [0]}"); // redireciona o navegador para o arquivo ?>

como usá-lo:
na página, colocamos um link como HREF = "download.php? fileno = x"
onde, em vez de x, o número do arquivo na lista é substituído (começando do zero)
---
Este exemplo é um pouco falho ... então, para sempre, você ainda precisa bloquear o arquivo para que não haja conflitos ao acessá-lo.



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

Opa, não leu ....



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

Se você quer algo bom, então isso não é suficiente, a seguir, são possíveis melhorias
1. em vez de um arquivo, um para cada, afeta favoravelmente a velocidade e o número de erros durante os bloqueios, caso contrário, é possível bloquear o acesso a todos os arquivos.
2. Ao bloquear, é necessário capturar travas mortas e apagá-las.

Sem essas precauções, os problemas são garantidos, especialmente durante o trabalho intensivo.



Страницы: 1 filial inteira

Fórum: "Agarrar";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima









Memória: 0.57 MB
Hora: 0.035 c
14-22318
frostbite
2001-10-31 17:11
2002.01.08
Rebobinar


7-22444
VS
2001-09-27 07:14
2002.01.08
Como se copiar se o programa está sendo executado


1-22261
bk
2001-12-17 15:42
2002.01.08
sobressair


1-22224
Oleg Gashev
2001-12-15 11:14
2002.01.08
Problema com o tamanho da imagem ao imprimir


1-22101
DenKop
2001-12-18 14:38
2002.01.08
Criando Ajuda s





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese romeno Russa sérvio Slovak esloveno espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol