Svendsen Skrevet 26. mars 2003 Skrevet 26. mars 2003 Lurte på om det var en enkel kode i php for å telle hvor mange ganger ei bestemt fil (*.exe *.zip *.rar) har blitt lasta ned. Samt da å kjøre det ut på sia igjen. ( det blir vel bar med en echo)
Svendsen Skrevet 26. mars 2003 Forfatter Skrevet 26. mars 2003 har mySQL tilgang kan ikke noe om php og mySQL ( egntlig veldig lite om begge)
PlastBox Skrevet 28. mars 2003 Skrevet 28. mars 2003 alle downloa-linker går til download.php?file=filnavn i stede fordirekte til filen. ----------*****download.php*****----------- if(empty($file)) exit; $fp = fopen("logg.txt", 'a+'); fputs($fp, "$filen"); fclose($fp); print('<meta http-equiv="refresh" content="0; URL='.$file.'">'); ---- Dette scriptet legger til filnavnet som blir lastet ned i logg.txt. Telling kan jeg evt komme tilbake senere, for å må jeg dra til gymmen!
Svendsen Skrevet 28. mars 2003 Forfatter Skrevet 28. mars 2003 takk for hjelpen jeg skal få prøvd det. Men så skal jeg mase litt til. Hadde det vært mulig for deg å lagd en beskrivelse yil scriptet? Slik at jeg kan lære noe av det og ikke bare får det. Selv synes jeg ikke noe om å bare gi bort til folk som bare bruker det uten å prøve å lære noe av det. Regner med at det er fler av oss. Håper du gidder
PlastBox Skrevet 28. mars 2003 Skrevet 28. mars 2003 Tok bort dette... Laget ett mye bedre script med forklaring under.
PlastBox Skrevet 28. mars 2003 Skrevet 28. mars 2003 Glem koden over! Her er resultatet av litt mer mekking logg.txt vil nå ha dette formatet: filnavn|antall klikk| f.eks.: film1.avi|5| film2.avi|12| Bare pass på og chmod logg.txt til 646 så scriptet kan lese/skrive den. <?php if(empty($file) || !FILE_EXISTS($file)) exit; //Sjekker at filen finnes. $tal = "0"; //Setter $tal til 0 (brukes for å lese filen) $fil = file("logg.txt"); //Leser filen inn i $fil. $fil[0] er første //linje $fil[1] er den andre, osv... while($fil[$tal]) //Gjør en loop gjennom alle linjene i $fil(logg.txt) { $a = explode("|", $fil[$tal]); //Deler $fil[$tal] ved //tegnet |. $a[0] er filnavnet, $a[1] er antall klikk. if($a[0] == $file) //Sjekker om vi er på riktig linje. { $a[1]++; //Øker antall klikk med 1. $fil[$tal] = implode($a, "|"); //implode er det motsatte av explode. } $tal++; //Øker $tal med 1 for å lese neste linje. } $a = implode($fil, ""); //Imploderer $fil[0, 1, osv] inn i $a. $fp = fopen("logg.txt", 'w'); //Åpner logg.txt og sletter alt som står der. fputs($fp, $a); //Skriver $a til logg.txt fclose($fp); //Lukker filen. print('<meta http-equiv="refresh" content="0; URL='.$file.'">');
Svendsen Skrevet 29. mars 2003 Forfatter Skrevet 29. mars 2003 de filer som jeg vil ha telling på ligger i ei mappe kaldt download så stien bli jo da /download/fil.exe men download.php må vel ligge i root ? eller kan den ligge i download mappa? for hvis den ikke ligger i samme mappe som filen vil vel ikke download.php?file=fil.exe funke? edit start jeg prøvde å legge download.php, fil.exe og logg.txt i smamme mappe (download) der etter linka jeg til fina sånn : download/sownload.php)file=fil.exe da lasta den ned men skreiv ikke til txt fila. Jeg chmoda også txt fila til 646 ( dobbel sjekka) edit slutt
PlastBox Skrevet 29. mars 2003 Skrevet 29. mars 2003 Du bør legge logg.txt og download.php i root. Hvis du skal ha alle nedlastbare filer i en egen mappe, fåreslår jeg å forandre print('<meta http-equiv="refresh" content="0; URL='.$file.'">'); til print('<meta http-equiv="refresh" content="0; URL=/download/'.$file.'">'); ...hvis mappen heter download, da. Linkene skal gå til download.php?file=fil.exe
Svendsen Skrevet 29. mars 2003 Forfatter Skrevet 29. mars 2003 men vil dette hjelpe på at den ikke skriver til txt fila?
PlastBox Skrevet 30. mars 2003 Skrevet 30. mars 2003 Jeg vet desverre ikke hvorfor den ikke skriver til fila. Men jeg ville gått over det jeg hadde gjort én gang til, hvis jeg var deg... Det funker helt fint her Bare for å være heeelt sikker på den chmoddinga kan du jo prøve 777...
Svendsen Skrevet 30. mars 2003 Forfatter Skrevet 30. mars 2003 du begynner koden med <?php jeg må avslutte den med ?> ikke sant?
Svendsen Skrevet 31. mars 2003 Forfatter Skrevet 31. mars 2003 får det ikke til jeg nå vil den ikke laste ned lenger etter at jeg gjorde som du sa. Driver å jobber med et ASP prosjekt og så det blit liksom ikke så mye tid til hjemmesida om dagen. Men prøver litt i ny og ne.... Men takk for at du prøver
PlastBox Skrevet 1. april 2003 Skrevet 1. april 2003 Sorry, my mistake! Her er koden som faktisk funker! (asp? hm...) <?php if(empty($file)) exit; if(!FILE_EXISTS("download/$file")) { echo "File doesn't exist!"; exit; } $tal = "0"; $fil = file("logg.txt"); while($fil[$tal]) { $a = explode("|", $fil[$tal]); if($a[0] == $file) { $a[1]++; $fil[$tal] = implode($a, "|"); $done = '1'; } $tal++; } $a = implode($fil, ""); $fp = fopen("logg.txt", 'w'); if($done == '1') { fputs($fp, $a); } else { fputs($fp, "$an$file|1|"); } fclose($fp); print('<meta http-equiv="refresh" content="0; URL=download/'.$file.'">'); ?>
Svendsen Skrevet 1. april 2003 Forfatter Skrevet 1. april 2003 yeah da hjalp det Tussen takk. Skal jeg prøve å lære lit av detta og... se hva jeg klarer Ja vi har ASP prosjekt på skolen, lager ei web side for DreamBox, med masse fancy
Svendsen Skrevet 3. april 2003 Forfatter Skrevet 3. april 2003 nytt spørsmål: hvordan leser jeg fra filen og skriver det ut med print?
Klette Skrevet 3. april 2003 Skrevet 3. april 2003 Vil her ta muligheten til å rose Plastbox for sin innsats, hyggelig å se at folk er så hjelpsomme.. *fortsetter å lese wrox: Begining PHP*
PlastBox Skrevet 5. april 2003 Skrevet 5. april 2003 Bare hyggelig :smile: Men, tilbake til spørsmålet. Denne var betydelig lettere. Scriptet under printer hele filens innhold i en fin liten tabell. Gidder ikke forklare noe denne gangen. Det meste her er bare klipp og lim fra det forrige scriptet. <?php $tal = "0"; $fil = file("logg.txt"); echo "<table border=1 bordercolor=#666666><tr><td width=100>Filename</td><td width=100 align=right>Downloaded</td></tr>"; while($fil[$tal]) { $a = explode("|", $fil[$tal]); echo "<tr><td>$a[0]</td><td align=right>$a[1]</td></tr>"; $tal++; } echo "</table>"; ?>
Svendsen Skrevet 5. april 2003 Forfatter Skrevet 5. april 2003 Noen som har forslag til hvor jeg kan lære litt? Søke på funksjoner og sånt ?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå