tonrein Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 (endret) Jeg bruker MS Frontpage 2003 Er det noen som kan hjelpe meg med et enkelt HTML script som holder orden på hvor mange ganger en fil blir lastet ned fra server gjerne med en rapport til en tekstfil på server, jeg har lastet ned en del skript fra forskjellige steder men disse står stort sett på Engelsk og veldig dårlig forklart hvordan en åpner for skrive og lese rettigheter på server jeg har prøvd det meste men ikke fått det til ennå... Så hvis det er noen som kan hjelpe meg med et veldig enkelt skript og en enkel forklaring på hvordan en setter skrive og lese rettigheter på server som: chmod 755 chmod 666 Jeg bruker SmartFTP til å laste opp filene og hjemmesida med og vet at det finnes noen instillinger i dette programmet som kan endre chmod med har nå prøvd det også men ikke fått det til å fungere så det må være noe i scriptet som må endres eller det er at jeg ikke legger dem på den rette plassen (mappe) på serveren... Jeg har laget en del hjemmesider i HTML script men når det gjelder Perl og cgi og all annen kodespråk så har jeg ikke "peiling" i det heletatt for å si det sånn så vær snill og forklar meg som en nybegynner for noen "ekspert" er jeg ikke på dette området... Filer i countdown.zip ----------------------- 1. countdown.cgi 2. countdown.log 3. Readme.txt Eks på en forklaring jeg har prøvd og ikke får til Innhold i Readme.txt begynner her... ============================================= Countdown.cgi This script tracks the number of downloads of files from your site. Instructions on Use: -------------------- Place a link to this script on your website. The proper form is: http://www.yoursite.com/yourdir/countdown....urfile.anything http://home.no/tonrein/filesdown/Freeware/...rCreator4.0.exe It will add a count to a user-specified file (suggest cntdown.log), and then auto-forward to the download file. The interface has no prompts for the user, it is seamless. Files needed: ------------- countdown.cgi : This is the script file : chmod 755 countdown.log : This is the counter log file : chmod 666 Installation: ------------- Chmod the scripts as above. Change the first line of countdown.cgi to the location of PERL on your system. 2 items need to be changed in the script. $Counter This must be set to the absolute location (server directory) of the counter file. Example: '/docs/logs/countdown.log' $DownloadFileDir This must be set to the web location (URL) of the directory that contains the download files. Don't put a slash on the end. Example: 'http://www.mysite.com/downloads' Innhold i Readme.txt slutter her... ============================================= Du kan laste ned "countdown.zip" her Download Countdown.zip her Last ned disse 4 scriptene og prøv ut endre dem og send dem ferdig redigert til meg på hvordan en endrer eventuelt kataloger og url på disse skriv gjerne komentarer på Norsk om hvordan og hvorfor ? download_counter1.zip download_counter2.zip download_counter3.zip download_counter4.zip er det noen som vet om home.no, tiscali.no eller freewave.no som har støtte for perl, cgi script så legg igjen en beskjed her... For de som lurer på om Start.no har støtte for disse Kan jeg bruke SSI, CGI, PHP, Frontpage-tillegg eller ASP? SSI, CGI, Frontpage-tillegg og PHP går fint. Foreløpig støtter vi ikke ASP. Jeg takker for all hjelp jeg kan få mvh Tony Endret 10. mai 2005 av tonrein Lenke til kommentar
Torbjørn Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 ser at du har gjort noe med variablene som peker til kataloger - $Counter og $DownloadFileDir - der har du lagt inn det som ser ut som en salig blanding av katalognavn, filnavn og URL'er av en eller annen grunn. det står rimelig svart på hvitt at det skal være et filnavn og et katalognanv der. videre vet jeg ikke om home.no.net støtter cgi? det bør du undersøke først. chmod kan man gjøre i de fleste ftp klienter. Lenke til kommentar
Jankee Skrevet 10. mai 2005 Del Skrevet 10. mai 2005 (endret) Tråden flyttes til PERL-kategorien. Sidan det ser ut til å vere snakk om CGI og perl er nesten synonym med cgi så antar eg at det er perl det er snakk om. Endret 10. mai 2005 av Jankee Lenke til kommentar
tonrein Skrevet 11. mai 2005 Forfatter Del Skrevet 11. mai 2005 (endret) HJELP meg, please... Jeg har fortsatt ikke funnet noe svar på dette problemet, er det noen som kan hjelpe meg der ute... Endret 11. mai 2005 av tonrein Lenke til kommentar
Torbjørn Skrevet 12. mai 2005 Del Skrevet 12. mai 2005 hva skjedde etter at du korrigerte det jeg foreslo? Lenke til kommentar
tonrein Skrevet 13. mai 2005 Forfatter Del Skrevet 13. mai 2005 (endret) De variablene som peker til kataloger - $Counter og $DownloadFileDir har ikke jeg gjort noe med det er de som har laget scriptet (Readme fila) som har satt et eksempel på hvordan det skal se ut og at jeg kan bytte ut 'http://www.mysite.com/downloads' med min hjemmeside addresse eller sti til mine program (Downloads) på server vil jeg anta ? Så regner jeg med at Example: '/docs/logs/countdown.log' under $Counter seksjon er stien til "countdown.log" fila... Dette er veien frem til mine filer på server, men hvordan skal dette scriptet se ut "http://home.no.net/tonrein/filesdown/Freeware/FolderCreator4.0.exe" Sånn ser "countdown.cgi" scriptet ut her har jeg ikke endret på noe... Script begynner her............ #!/usr/local/bin/perl ############################################################################## # Countdown Version 1.1 # # Copyright 1998-2000 Edward Preble [email protected] # # Created 11/30/98 Last Modified 01/28/00 # # Datatrend Softeware http://www.datatrendsoftware.com/cgi.html# ############################################################################## # This script will do the following: # # 1. Is activated by a link, # # "http://www.site.com/scripts/countdown.cgi?file.anything" # # 2. Will add a count to "countdown.log", for the proper file. # # 3. Will auto-forward to "file.anything" for download. # # 4. The interface is seamless, no user prompts. # ############################################################################## # COPYRIGHT NOTICE # # Copyright 1998-2000 Edward Preble All Rights Reserved. # # # # This script is free. You may use and modify this script as you please. # # Do not remove this header, as it is the only thing that gives me credit # # for my work in writing this code. If you wish to sell this code, you # # must obtain permission from the authors first. # # # # Scripts provided by Datatrend Software are supplied "as-is". You agree # # to indemnify the author's from any liability that may arise from the use # # of this script. We will provide support for bugs and operation issues, # # but NOT for installation. Sorry for that, but it is just too time # # consuming and the volume of requests is truly staggering. # # # # Obtain permission before redistributing this software over the Internet or # # in any other medium. In all cases copyright and header must remain intact.# ############################################################################## # # # You must modify the the location of PERL in the first line above to match # # the location on your server. Your system admin must help you with this. # # You must also modify the following variables to match your preferences. # # This is the counter log filename $Counter = '/usr/yourdir/docs/scripts/logs/countdown.log'; # This is the demo file that will be downloaded $DownloadFileDir = 'http://www.yoursite.com/scripts/downloads'; ########################################################## # No changes need to be made after these lines ########################################################## $File = $ENV{'QUERY_STRING'}; # Strip off anything up to, and including, the last "/", if present if ($File =~ /\//) { ($File) = $File =~ /^.*\/([^\/]+)$/g; } $DownloadFile = "$DownloadFileDir/$File"; # Add hit to main counter open (CNT,"+<$Counter") || &endIt; flock (CNT,2); seek (CNT,0,0); @infile = <CNT>; # This will put the hits in order from max to min for each file added $record = 0; # Starting record in the log is always 0 $correctspot = 'N'; # Tells script if this record is the one that was hit # Proceeds as long as the record number is less than the total # number of records in the file and the correct record hasn't been found yet. while (($correctspot eq 'N') && ($record <= $#infile)) { ($count,$filename,$eol) = split(/\|/,$infile[$record]); if ($filename eq $File) #if this is the right record, hit it, trip correctspot {$count++; $infile[$record] = join ("\|",$count,$filename,"\n"); $correctspot = 'Y'; } $record++; } if ($correctspot eq 'N') { $count = 1; $newrecord = join ("\|",$count,$File,"\n"); push @infile, $newrecord; } @outfile = sort {($b =~ /(\d+)/)[0] <=> ($a =~ /(\d+)/)[0]} @infile; seek (CNT,0,0); print (CNT @outfile); truncate (CNT,tell(CNT)); close (CNT); print "Content-type: text/html\n"; print "Location: $DownloadFile\n\n"; sub endIt # exit on error { exit; } # end endIt Script Slutter her............ Innhold i countdown.zip countdown.cgi countdown.log Readme.txt Endret 13. mai 2005 av tonrein Lenke til kommentar
Torbjørn Skrevet 13. mai 2005 Del Skrevet 13. mai 2005 hva er det som ikke fungerer? Lenke til kommentar
tonrein Skrevet 15. mai 2005 Forfatter Del Skrevet 15. mai 2005 (endret) Jeg vet ikke hvor jeg skal legge inn stien til server og hvilken mappe jeg skal legge "countdown.log" i og om jeg må opprette en egen mappe sti til denne filen "countdown.log" se på "Mitt forslag" litt lenger ned... # You must modify the the location of PERL in the first line above to match # # the location on your server. Your system admin must help you with this. # # You must also modify the following variables to match your preferences. # # This is the counter log filename $Counter = '/usr/yourdir/docs/scripts/logs/countdown.log'; # This is the demo file that will be downloaded $DownloadFileDir = 'http://www.yoursite.com/scripts/downloads'; Se Readme.txt (utdrag fra første innsendelse) Instructions on Use: ----------------------- Place a link to this script on your website. The proper form is: "http://www.yoursite.com/yourdir/countdown.cgi?yourfile.anything" Mitt forslag: $Counter = '/tonrein/filesdown/Freeware/countdown.log'; $DownloadFileDir = 'http://home.no.net/tonrein/filesdown/Freeware'; Se Readme.txt (utdrag fra første innsendelse) Instructions on Use: ----------------------- Place a link to this script on your website. The proper form is: "http://home.no.net/tonrein/filesdown/Freeware/countdown.cgi?FolderCreator4.0.exe" er dette riktig tolket eller er jeg helt på vidda !! . Endret 15. mai 2005 av tonrein Lenke til kommentar
Torbjørn Skrevet 15. mai 2005 Del Skrevet 15. mai 2005 det ser riktig ut, hvilken feilmelding får du Lenke til kommentar
tonrein Skrevet 15. mai 2005 Forfatter Del Skrevet 15. mai 2005 (endret) "countdown.log" filen er tom. Feil som vises... Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. -------------------------------------------------------------------------------- Apache/2.0.52 (Fedora) Server at home.no.net Port 80 I tittellinja på IE står det "500 Internal Server Error" Prøv selv på linken under Counter Download Test . Endret 15. mai 2005 av tonrein Lenke til kommentar
Torbjørn Skrevet 16. mai 2005 Del Skrevet 16. mai 2005 opprett de mappene som trengs for countdown.log hvis du har mulighet, sjekk i servers errorlog hvis du har mulighet til det Lenke til kommentar
tonrein Skrevet 18. mai 2005 Forfatter Del Skrevet 18. mai 2005 (endret) Jeg fant noe om denne feilmeldingen i en annen FAQ What should I do if I get a 500 server error message? There are three very popular reasons you can get 500 server errors: Make sure you uploaded the script and data files in "ASCII" mode. Did you chmod the scripts to permission "755" ? Is the path to the perl bin on your server "#!/usr/local/bin/perl"? If it is not, open each script with a text editor then change the first line. forklar meg hvilken mappe "countdown.log" filen skal ligge og i hvilken mappe selve scriptet skal ligge i... Hvordan skal mappestrukturen se ut og i hvilken mappe skal disse script filene ligge, kan du sette opp en mappestruktur for meg ? Jeg søkte på google.no fant en del om "500 server error" der Endret 18. mai 2005 av tonrein Lenke til kommentar
Torbjørn Skrevet 18. mai 2005 Del Skrevet 18. mai 2005 det er meningen du selv skal finne en egnet katalog å ha logfila i, lag så denne katalogen(e) og angi dem korrekt. jeg kjenner ikke til directory-strukturen på home.no.net så kan ikke hjelpe deg så mye der, men kan kanskje komme med noen gjetninger om du forklarer litt mer om hvordan det ser ut der. scriptfila skal ligge i webkatalogen du ønsker å ha den i. samme som du har andre web-filer i Lenke til kommentar
tonrein Skrevet 18. mai 2005 Forfatter Del Skrevet 18. mai 2005 (endret) Sånn ligger det på server hos home.no.net scriptfila og logfila har jeg lagt i samme webkatalog som download filene mine ligger, det er ikke samme mappe som hjemmesida mi ligger for den ligger på rota under public_html mens alle Download programmene samt alle script ligger i undermappen /filesdown/Freeware Endret 18. mai 2005 av tonrein Lenke til kommentar
Torbjørn Skrevet 18. mai 2005 Del Skrevet 18. mai 2005 hva er det da du lurer på? vet du ikke hvordan du skal angi katalogen til Freeware? husk at ftpprogrammet bare viser mappene relativ til din hjemmekatalog. vet du forskjellen på en absolutt og en relativ angivelse av filbane? Lenke til kommentar
tonrein Skrevet 18. mai 2005 Forfatter Del Skrevet 18. mai 2005 Nei i grunnen ikke men hva har det med dette problemet å gjøre ? når det gjelder absolutt og en relativ angivelse av filbane ? må du forklare hvorfor dette er så viktig ? Lenke til kommentar
sam2 Skrevet 24. mai 2005 Del Skrevet 24. mai 2005 Har ikke lest gjennom hele denne tråden, men en enkel måte å implementere download counter er å benytte File::CounterFile. Denne modulen sørger også for låsing av fil når oppdatering skjer. use File::CounterFile; my $c = File::CounterFile->new("./Downloads.txt", 0); $c->inc; Dersom server ikke har har modulen installert, kan du bare legge modulen i en katalog (f.eks "Modules") i script dir (e.g. cgi-bin) og inkludere dir i @inc vha "use lib", slik: use lib "Modules"; Lenke til kommentar
Torbjørn Skrevet 24. mai 2005 Del Skrevet 24. mai 2005 Nei i grunnen ikke men hva har det med dette problemet å gjøre ?når det gjelder absolutt og en relativ angivelse av filbane ? må du forklare hvorfor dette er så viktig ? skriptet ligger i en katalog. alle referanser til andre filer kan gjøres absolutt (dvs fra toppen), eller relativt til der du står nå. du bør kjenne til dette hvis du er itvil om du angir filene riktig Lenke til kommentar
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å