Räkna inlägg

Programmering

16 svar · 393 visningar · startad av Kent

Medlem sedan juli 2000355 inlägg
Trådstart#1

Hur gör man för att räkna inlägg på bästa sätt.

Medlem sedan juni 20001 521 inlägg
#2

Det beror helt på du har dem ordnade. Ett per rad, eller är de separerade med något?

Medlem sedan juli 2000355 inlägg
#3

Ett per rad.

Medlem sedan feb. 2000438 inlägg
#4

Om du läser in filen till @fil, så får du antal rader (dvs inlägg) med:

$antal = @fil;

/Csson

Medlem sedan juli 2000355 inlägg
#5

Nope vill inte funka.

Medlem sedan juni 20001 251 inlägg
#6

Kan man få se hur koden, som inte vill fungera, ser ut?

Medlem sedan juni 20001 521 inlägg
#7

Vad sägs om

       open (RAD,"filen.txt");
	 @rader = <RAD>;
close (RAD);

$antal = @rader;

?

Medlem sedan juli 2000355 inlägg
#8

Funkar hur fint som helst,
tack för hjälpen.

Medlem sedan juni 20001 251 inlägg
#9

Får ursäkta om jag verkar trög, men Gislaved.net's och Csson's kodexempel var likadana. Så antagligen var det du (Kent) som gjorde fel.

Medlem sedan juni 20001 521 inlägg
#10

Jupp, det var i samma sak... bara att jag skrev lite mer utförligt. Det är inte så lätt att vara ny alla gånger... :)

Medlem sedan juli 2000355 inlägg
#11

Om man vill räkna enstaka (html) filer, hur ser koden ut för det.

Medlem sedan juni 20001 521 inlägg
#12

Va? Vad menar du?

Medlem sedan juli 2000355 inlägg
#13

Jo, jag använder mig av forumet från matts script arcive, och då sparas alla filer som .html, det jag vill göra nu är att räkna dessa så man ser hur många inlägg det finns i forumet.

Medlem sedan juni 20001 251 inlägg
#14

Större delar av scriptet är hämtat ifrån Matt's script archive.

#!/usr/bin/perl

$sokvag = '/katalog där html-filerna ligger/';
@filer = ('*.html','*.shtml');

$antal=0;
   chdir($sokvag);
   foreach $file (@filer) {
$antal++;
      $ls = `ls $file`;
      @ls = split(/\s+/,$ls);
      foreach $temp_file (@ls) {
         if (-d $file) {
            $filename = "$file$temp_file";
            if (-T $filename) {
               push(@FILES,$filename);
            }
         }
         elsif (-T $temp_file) {
            push(@FILES,$temp_file);
         }
      }
   }

print "Content-type: text/html\n\n";
print "$antal";
exit;
Medlem sedan juli 2000355 inlägg
#15

Nej denna kod funkar inte, det står bara Antal inlägg: 2,
oavsett hur många inlägg jag skriver.

Medlem sedan juni 20001 251 inlägg
#16

Kan man få se koden?

Medlem sedan aug. 2000374 inlägg
#17

Hej Kent!
Testa följande kod.

#!/usr/bin/perl

$Dir = "/min/path/";

$Filer = 0;
opendir(DIR, $Dir);
while (defined($Fil = readdir(DIR))) {
  next unless $Fil =~ /\.(htm&#0124;html&#0124;shtm&#0124;shtml)$/i;
  $Filer++;
}
closedir(DIR);

print "Content-type: text/html\n\n";
print "Det finns $Filer inlägg.\n";

//Hansen

254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)