Strana 1 z 2

Pocet stiahnuti daneho suboru

Napísané: Ut Máj 09, 2006 8:48 pm
od užívateľa Spade
Ahoj!

Takze na mojom Etomite webe chcem publikovat svoje projekty v Delphi. Bolo by velmi vhodne, aby sa niekde ukazovalo, kolkokrat sa dany subor stiahol.

Bohato by mi stacilo aj to, aky by to vyzeralo nejako takto:

Download (Počet stiahnutí: XX krát)

S tym, ze Download by odkazoval na ten subor a ta zatvorka by bola cisty text. Hmm, da sa nieco take spravit? Vopred diky moc aspon za ochotu!

Napísané: Ut Máj 09, 2006 8:55 pm
od užívateľa _rasel^

Napísané: Ut Máj 09, 2006 9:03 pm
od užívateľa Spade
Velmi pekne ti dakujem, len nejako nechapem system, ktorym toto pracuje ... no nic, este poskusam. Ved instalacia je tam popisana...

Napísané: So Jún 10, 2006 11:07 pm
od užívateľa Spade
Mno, kedze ma uz nic nenapada, tak pisem opat. Nejako mi to nexce fungovat - ale najpravdepodobnejsie je asi to, ze to robim zle. Neviem, ale asi to ako snippet nefunguje, ze? Vobec neviem, co mam s tym robit. Hodi niekto helpa? Diky moc za ochotu.

Napísané: Ne Jún 11, 2006 1:26 pm
od užívateľa _rasel^
A ktory DownloadCounter si skusal? Napis ako si postupoval a pozriem sa nato...

Napísané: Ne Jún 11, 2006 4:01 pm
od užívateľa Spade
No viem ze to bola verzia 0.2. Najprv som nahral vsetky subory na web a potom som skoncil...

Napísané: Ne Jún 11, 2006 4:18 pm
od užívateľa _rasel^
Ved tam mas pekny help ako to nainstalovat:

Kód: Vybrať všetko

Installation
Create a database named [download] or the same as the db_name variable in config.php
Create a folder/directory on your server named download

Modify the following variables in config.php to suit your own needs
$db_host : the name of your server - often called localhost
$db_user : the username of your server
$db_pass : the MySQL password for the $db_user
$db_name : the MySQL database name
$dl_path : the path to your download location from where you have installed download.php
$dl_absolute_path : the absoulte path to download.php - e.g. http://www.mikeleigh.com/download.php

Copy the following files to your domain root (mydomain.com)
download.php
admin.php
adminexec.php
database.php
config.php
upgrade01_02.php
false.gif
true.gif

database.php is used to create the tables on your MySQL database.  You can also 
use phpMyAdmin and create the table structure manually.
Open a web broswer and goto http://www.yourdomain.com/downloads/database.php or http://www.yourdomain.com/downloads/upgrade.php if you are upgrading to set up the database tables and default entries

Open a web broswer and goto http://www.yourdomain.com/downloads/admin.php use the username of admin with password 1234 (the password for admin stored in the user table is an md5 hash of the string 1234).
You can now set up your file downloads.  Note that each downloads has to have a file associated with it.

you can then download these files using the url construct of the form
http://www.mikeleigh.com/download.php?file=1

You may remove the database.php file once the database has been configured and you may also remove the upgrade01_02.php file.

If you have any questions / suggestions then please either email me or vist my forums - details can 
be found in the header at the start of this file

Future / To Do list
1) Creat various stats scripts (e.g. top 10 downloads, 5 most popular downloads this week, etc)
2) Create graphs for the statistics
3) Please email me your suggestions :-)

If you use this script on your webserver then I would appreciate you telling me. You dont have to do this if you dont want to.

Mike Leigh 18/03/2006

Napísané: Ne Jún 11, 2006 4:19 pm
od užívateľa Spade
Ide o to, ze ja absolutne nerozumiem ako to pracuje ...

Napísané: Ne Jún 11, 2006 4:33 pm
od užívateľa _rasel^
Ten DownloadConter s Etomite nema nic spolocne (je to externista).
  • Nainstalujes ho podla navodu
  • Lognes sa do admin prostredia: http://dc.etomite.sk/admin.php s uzivatelksym menom admin a heslom 1234
  • Zmenis heslo
  • Kliknes na Add Download a vytvoris priecinok pre subory
  • Potom na Add a pridas subor na download, ktory sa bude nachadzat v precinku download - zadas iba jeho nazov
  • Na stranku Etomite pridas namiesto suboru odkaz download.php?file=1 (id je vedla suboru, ked kliknes na List)
... bude treba prerobit tento DownloadConter pre Etomite, aby si videl pocet downloadov vedla suboru rovno na stranke (tento download counter je rieseny tak, ze vidis pocet stiahnuti iba v admin prostredi). Chcem sa do toho pustit - stvrtok mam volno, mozno sa podari a prerobim to komplet do Etomite ako jednoduchy snippet. DownloadCounter je dost spartansky rieseny a na moj vkus az prilis komplikovany.

Napísané: Ne Jún 11, 2006 5:02 pm
od užívateľa Spade
V tom pripade pockam. Mne ide cisto len o to, aby som zistil pocet ludi, ktori si stiahnu moj program, nic viac, nic menej.

Napísané: Št Jún 15, 2006 10:45 pm
od užívateľa _rasel^
Nepodarilo sa mi dnes novy snippet etoFileDownloadCounter (eFDC) dokoncit... iba som nanom zacal pracovat. :cry: Budem priebezne pisat ako som natom s vyvojom...

Edit 1: eFDC uz pracuje... pekne si pocita. Zatial je to urobene dost na tvrdo (info o suboroch sa musia zadavat priamo v databaze) a este nie je vystup na stranku 'cislo' kolko-krat sa dany subor stiahol... Este na scripte popracujem.
Edit 2 (18.6): Snippet je uz funkcny. Teraz pracujem na admin prostredi, aby jeho prevadzka nebola komplikovana ako teraz.

Napísané: Ut Jún 20, 2006 7:51 pm
od užívateľa Spade
Vyzera to tak, ze ten snippet bude stat za to :) Uz sa tesim :idea: Bodaj by vysiel co najskor.

Edit: LOL ja som uz expert :D

Napísané: Ne Jún 25, 2006 4:52 pm
od užívateľa Spade
Hmm, nebolo by mozne poskytnut aspon nejaku verziu toho snippetu? Velmi by som to potreboval.

Napísané: Ut Jún 27, 2006 11:50 am
od užívateľa _rasel^
Najdem si dnes chvilu casu a vecer ten snippet dorazim (prva komplet funkcna beta).

Trva mi to "trocha" dlhsie :oops:, alebo sa snazim snippet maximalne zjednodusit (bez instalacie sql) a pouzit Etomite API. Tento snippet robim tak, ze porovnavam 3 snippety a snazim sa z nich vycucnut veci, ktore mozem pouzit v tomto... aspon sa nieco dalsieho naucim. :D
btw: Pripravujem dalsie dva uzitocne snippety (po dokonceni tohto) -> etoPoolSystem a etoRatingSystem. (viac... na webe dole)

Edit: Snippet eFDC ma uz 357 riadkov, musim neako osekat ten balast... :lol:

Napísané: Ut Jún 27, 2006 10:08 pm
od užívateľa _rasel^
Takze vyzera to tak, ze dnes eFDC nedokoncim :(... v kode ma poriadny chaos - uz ma 357 riadkov a s PHP + MySQL nemam az take skusenosti, aby som to dnes dorazil. :cry: Budem to este musie dostudovat... (zajtra ma caka 14 hodinova brigada)

Tak sem hodim aspon neake torzo. Dufam, ze sa ti to poradi rozbehat.

Lognes sa do phpMyAdmina a kliknes na tlacidlo SQL - tam importujes script:

Kód: Vybrať všetko

CREATE TABLE `counter` (
  `id` int(5) NOT NULL auto_increment,
  `FileName` varchar(50) NOT NULL default '',
  `FileURL` varchar(255) NOT NULL default '',
  `Count` int(5) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Pridavat nove pocitadla zatial budes musiet v phpMyAdmine. Kliknes na tabulku a das pridat novy zaznam (obrazok zo sipkov). Staci pridat iba Meno Suboru a realny URL odkaz na subor.

Do suboru download.php vlozis nasledujuci text a subor nakopirujes do rootu.

Kód: Vybrať všetko

<?php

/* Uprav podla db hostingu*/
$db_server = '';
$db_username = '';
$db_password = '';
$db_name = '';

/* Toto mozes nechat tak */
$db_table = 'counter';
$db_table_prefix = ''; 

$sql ="SELECT * from ".$db_table_prefix.$db_table." where id='$id'";
$result = mysql_query($sql) or die ("Could not execute query: $sql.".mysql_error());

while ($row = mysql_fetch_array($result)) {
  $id = $row['id'];
  $FileName = $row['FileName'];
  $FileURL = $row['FileURL'];
  $Count = $row['Count'];

  header('Location: '.$FileURL);

  $sql ="update ".$db_table_prefix.$db_table." set Count=Count+1 where id='$id'";
  $result = mysql_query($sql) or die ("Could not execute query : $sql.".mysql_error());
  }

?>
Snippet eFDC bude vyzerat takto (maximalne zjednodusena verzia) [[eFDC?my_id=1]]. Snippet je napisany dost zversky (hlavne to while), ale malo by to fungovat. :D

Kód: Vybrať všetko

/* Uprav podla db hostingu*/
$db_server = '';
$db_username = '';
$db_password = '';
$db_name = '';

/* Toto mozes nechat tak */
$db_table = 'counter';
$db_table_prefix = '';  

$connect = mysql_connect($db_server,$db_username,$db_password) or die("Neviem sa pripojit k databaze! > ".mysql_errno()." : ".mysql_error());
mysql_select_db($db_name, $connect) or die("Neviem vybrat tabulku z databazy! > ".mysql_errno()." : ".mysql_error());

while ($row = mysql_fetch_array($result)) {
  $id = $row['id'];
  $FileName = $row['FileName'];
  $FileURL = $row['FileURL'];
  $Count = $row['Count'];
  if ($my_id == $id)
    {
    $output = "<a href='download.php?id=".$id."' title='".$FileName."'>".$FileName." [".$Count."]</a>";
    }
  }

return $output;
Snippet vrati:

Kód: Vybrať všetko

<a href='download.php?id=1' title='Meno Suboru'>Menu Suboru [pocet stiahnuti]</a>