webForumDet fria alternativet

Sökväg till counter!

Webbservrar

3 svar · 147 visningar · startad av nordan

Medlem sedan juni 2000949 inlägg
Frågan#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

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

kanske ?...

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

Medlem sedan aug. 2000374 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

Medlem sedan aug. 2000374 inlägg
#4

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

Fungerar hos mig.

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

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)