Jump to content
php.lv forumi

download counter


shepp

Recommended Posts

Sveiki!

Vai kāds man lūdzu nevar uztaisīt vienkāršu scriptu?

Vēlos lai šis skripts skaita cik reizes ir lejupielādēts, kāds konkrēts fails.

piemēram bilde.jpg lejupielādēts x riezes, video.avi lejupielādēts xx, vai kaads fails.zip lejupielādēts x reizes!

Vēl kas, no vienas IP pieskaitās tikai 1 reize. Meklēju visur googlee, tepat forumā, bet neatradu.

Izskatās apmēram šādi:

Fails - lejupielādēts 27 reizes

 

Ceru, ka sapratāt mani un izpalīdzēsiet.

Paldies!

Edited by shepp
Link to comment
Share on other sites

es devu piemēru un domāju ka tas varētu nostrādāt :D

 

 

 

takāa esu underground tapē neesu 100% parliecināts,

jo kā teicu neesu meiģinājis .....

 

 

protams DB var uztaisīt lielāku kur būs viss

 

pievienotājs

pavisam apskatīts

kad pievienots

 

u.c. lauki

Link to comment
Share on other sites

goma smile, bet man vajag arī, lai no vienas IP pieskaitās tikai 1 lejupielādes reize, nevis, ka 1 cilvēks tagad paņems un tik klikos uz to linku un man tik skaitīsis tie cipariņi.

un vēl vai tu nevarētu bisk vairāk uzrakstīt, lai tāds kā es varu saprast.. :(

Link to comment
Share on other sites

Manuprāt, ir jāuztaisa tabula ip_list (id | file_id | ip), tad tabula files (id | name) un tad kad downloado nosaka usera ip, uztaisa if ar vaicājumu vai šī ip ir jau lejuplādējusi konkrēto failu, ja nav tad ieraksta query ar šo ip un faila_id iekš ip_list, ja ir jau tāda ip šim konkrētajam failam tad neko nedara. Man liekas ļoti vienkārši (kaut gan esu iesācējs). :)

Link to comment
Share on other sites

Datubāzi var organizēt dažādi.

Bet tas pamats varētu būt apmēram tāds vai savādāks, bet šitāds vienkāršiem variantiem varētu derēt:

 

Tabula:

Files

Lauki:

ID | Name | OriginalName | Extension | Path | CreatedTimestamp | UpdatedTimestamp

 

Tabula:

VisitorsDownloads

Lauki:

ID | VisitorID | FileID | Timestamp

 

Tabula:

Visitors

Lauki:

ID | UserID | IP | FirstSeenTimestamp | LastSeenTimestamp | Online

 

Tie varētu būt tādas tabulas un lauki, kas pirmie iešaujas prātā. Ar Visitors saprotam visus apmeklētājus, bet ar Users (to tabulu gan te nepasniedzu) - reģistrētos lietotājus. Bet šitāda shēma vairāk ir noderīga universālos gadījumos - respektīvi, ja apmeklētājiem ir iespējas veikt vēl citas darbības, par kuriem varētu vākt statistiku (piemēram, balsot) utt.

Link to comment
Share on other sites

nevajag neko sarežģīt, vai kāds var uztaisīt šo skriptu? man viņš būs nepieciešams tikai 5 vai 6 failiem.

vēlreiz saku gribu lai izskatās šādi:

fails

Download (267 downloads)

citā vietā atkal tā pat, gribu, lai tur tas skaits nav vienkārši uz click reizēm, bet, lai tikai no vienas ip pieskaitas 1 reize un, lai viņš šos datus glabā datubāzē, nevis kaut kādā tur .txt failā!

Link to comment
Share on other sites

bet, lai tikai no vienas ip pieskaitas 1 reize un, lai viņš šos datus glabā datubāzē,

Labak taisi lai pieskaitaas visi, bet papildus pieglabaa IP, un pie izvades saskaiti Tikai Unikaalas IP

Tas dos iespeju noskaidrot arii:

1. cik vispar lejupielaades

2. cik katra konkretaa IP to failu savakusi, JO var buut ka no vienas IP naks vairaki UNIKALI apmekletaaji ..

Piedevam pieglabaa arii datumu.. tad zinasi kuraas dienas utt, kas ko ir novilcis ...

pamatdomu skaties sheit , tikai papildus nak klats 1 lauks faila_id , atskjiriibas faktiski nav ...

Edited by Grey_Wolf
Link to comment
Share on other sites

nevajag neko sarežģīt, vai kāds var uztaisīt šo skriptu? man viņš būs nepieciešams tikai 5 vai 6 failiem.

vēlreiz saku gribu lai izskatās šādi:

fails

Download (267 downloads)

citā vietā atkal tā pat, gribu, lai tur tas skaits nav vienkārši uz click reizēm, bet, lai tikai no vienas ip pieskaitas 1 reize un, lai viņš šos datus glabā datubāzē, nevis kaut kādā tur .txt failā!

 

Nu par to ka jaregistree ip pie downloada shajaa gadiijumaa ir pilniigi bezjeedziiga padariishan...

 

u tad taa...izveidpo datubaazee ierakstu "count"

Kad tiek dots pieprasiijums uz download (if(isset(tiripiri))) izvadi no datubaaze count veertiibu un piepluso 1 (count++), tad update datubazi ar jaunu 'count' veertiibu!

 

Ja nu taa ip tik tieshaam vajadziiga tad pirms taisiit update ar jauno count vertibu parbaudam vai datubaazee neeksiste esoshaa ip adrese...

 

Man ar failiem nav bijusi dariishana, tapec es koda veidaa nevaru shito paraadiit...bet domaaju ka ar savu iesaaceeja praksi es to dabutu gatavu...risinaajums ir skaidrs, tikai jazin valoda lai to paarveerstu kodaa...

Edited by Morphius
Link to comment
Share on other sites

Ja nu taa ip tik tieshaam vajadziiga tad pirms taisiit update ar jauno count vertibu parbaudam vai datubaazee neeksiste esoshaa ip adrese...

tava gadijumaa buus javeido 2 DB tabulas, jo 1 glabasies IP otra tikai pliks skaits..

Pilniigi bezjedziigs piegaajiens ...

vienkarsak ir izmantot contera skriptu tikai pielagot lai piefiksee faila ID ( ja faili maz tad vinjus var glabaat arii masiivaa ), nevis lappusi kura apmekleeta ...

------------

Link to comment
Share on other sites

tava gadijumaa buus javeido 2 DB tabulas, jo 1 glabasies IP otra tikai pliks skaits..

Pilniigi bezjedziigs piegaajiens ...

vienkarsak ir izmantot contera skriptu tikai pielagot lai piefiksee faila ID ( ja faili maz tad vinjus var glabaat arii masiivaa ), nevis lappusi kura apmekleeta ...

------------

 

uj...tik daudz es nemaku ieksh php...es saakumaa dariitu kaa es uzrakstiiju un cilveekam kam vajadzigs shis skripts tagad un tulit, vinam pofig cik lauku tabulaa ir...galvenais lai stradaa :)

Edited by Morphius
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...