webForumDet fria alternativet

Sökväg till counter!

3 svar · 147 visningar · startad av nordan

nordanMedlem sedan juni 2000929 inlägg
#1

hmm har fått det att funka förr man nu är det hjärnslir :(
Jag har win2000 med IIS och Active Perl.
Nu har jag gjort en enkel räknare som räknar antalet träffar på sidan men av någon anledning så får jag det bara att funka när jag har koden så här

#!/usr/bin/perl

open (COUNTER, "count.txt");
$rad1 = <COUNTER>;

close (COUNTER);
$rad1=~/Antalet=(.*)st/;
$antal = $1;
$antal++;
open(COUNTER, ">count.txt");
print COUNTER "Antalet=",$antal,"st\n";

close (COUNTER);
print "Content-type: text/html\n\n";
print "Antal som har varit här $antal";
exit;

Detta blir att txt filen count.txt lägger sig direkt under C:\
Det jag vill är att count.txt skall lägga sig där jag har mitt cgi script
alltså i cgi-bin
Har testat massor av sökvägar men inte då
är det någon som vet hur man gör detta?

------------------
/nordan

SuPeR_ToBBeMedlem sedan mars 2001180 inlägg
#2
open(COUNTER, "C:\apache(?)\cgi-bin\count.txt");

kanske ?...

------------------
//ToBBe
Kommer snart

HansenMedlem sedan aug. 2000383 inlägg
#3

Hej,

Testa detta, fungerar på NT4 med IIS.
Om inte count.txt existerar så skapas den.
http://freebox.com/c.h/perl/counter.pl.txt

#!/usr/bin/perl -w

use strict;

my ( $count_file, $count );

$count_file = 'count.txt';

if ( -e $count_file ) {
    $count = read_count($count_file) + 1;
    write_count( $count_file, $count );
}
else {
    write_count( $count_file, 1 );
    $count = 1;
}

print
  "Content-type: text/html\n\n",
  "Antal som har varit här $count";

sub read_count {
    my ($file) = @_;

    open( ID, "<$count_file" )
      or die "Kan inte öppna räknarfilen: $count_file.\nAnledning: $!";
    flock( ID, 1 );
    my $count = <ID>;
    close ID;

    return $count;
}

sub write_count {
    my ( $file, $count ) = @_;

    open( ID, ">$count_file" )
      or die "Kan inte öppna räknarfilen: $count_file.\nAnledning: $!";
    flock( ID, 2 )
      or die "Kan inte få exklusivt lås på $count_file.\nAnledning: $!";
    print ID $count;
    close ID;
}

------------------
Hansen
c.h@ngmedia.com

HansenMedlem sedan aug. 2000383 inlägg
#4

count.txt
./count.txt
/testsajter/perl/count.txt
D:\\testsajter\\perl\\count.txt

Fungerar hos mig.

------------------
Hansen
c.h@ngmedia.com

129 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
126 ms — hämta tråd, inlägg och bilagor (db)