Avatar billede kingrex666 Nybegynder
02. februar 2005 - 14:20 Der er 9 kommentarer og
1 løsning

tæl fil med bestemt naevn

hej folkens
jeg har dette svript:

<?php
$antal = 0;
$handle=opendir('./minMappe');
while (false !== ($file = readdir($handle))) {
    if($file != "." && $file != "..") {
        $antal++;
    }
}
closedir($handle);
?>

spørgsmålet er:
Kan man modaniserer det så det tæller filer med et bestemt navn.

F.eks. jeg har fire filer:

xc_site_1.php
xc_site_2.php

cv_blik_1.php
cv_glas_1.php

kan jeg tælle filer der begynder med xc og få det vist et sted på en anden side og ligeledes med cv og få det vist på en side.

kan scriptet evt bygges sådan at jeg selv kan tilføje flere slags navne hvis jeg vil have den til at tælle 5 forskellige navne?

/Rasmus
Avatar billede flim Nybegynder
02. februar 2005 - 14:32 #1
du laver bare en if-sætning på din file, som køres inde i din whileløkke før du tæller antal op


$cv_taeller = 0;
if (substr($file,2) == 'cv')
{
$cv_taeller = $cv_taeller+1;
}

osv osv - til sidst kan de så skrives ud :-)
Avatar billede plx Nybegynder
02. februar 2005 - 14:44 #2
lidt automatik indbygget

$myfiles = Array(
    "xc_" => 0,
    "cv_" => 0
);

$antal = 0;
$handle=opendir('./minMappe');
while (false !== ($file = readdir($handle))) {
    if($file != "." && $file != "..") {

    foreach($myfiles as $myfile => $mycount){
        if(!strncasecmp($file, $myfile, strlen($myfile))){
            // tæl denne fil's counter op
            $myfiles[$myfile]++;
            break;
        }
    }

        $antal++;
    }
}
closedir($handle);

echo "I alt: ".$antal."<br>";

foreach($myfiles as $myfile => $mycount){
    echo $myfile."=".$mycount."<br>";
}
Avatar billede jakoba Nybegynder
02. februar 2005 - 14:47 #3
eller (for at tælle alle på een gang):

<?php
$antal = array();
$handle=opendir('./minMappe');
while (false !== ($file = readdir($handle))) {
    if($file != "." && $file != "..") {
        $to_forste = substr($file,2);
        if ( isset( $antal[ "$to_forste" ] ) {
            $antal[ "$to_forste" ]++;
        } else {
            $antal[ "$to_forste" ] = 1;
        }
    }
}
closedir($handle);
?>
Avatar billede kingrex666 Nybegynder
02. februar 2005 - 15:50 #4
hvad skal jeg skrive for at 'udskrive'
cv: <? some thing php ?>
xc: <? some thing php ?>
Avatar billede flim Nybegynder
02. februar 2005 - 15:52 #5
echo "I alt: ".$antal."<br>";

foreach($myfiles as $myfile => $mycount){
    echo $myfile."=".$mycount."<br>";
}
Avatar billede flim Nybegynder
02. februar 2005 - 15:53 #6
Hvis du bruger plx's eksempel self...
Avatar billede kingrex666 Nybegynder
02. februar 2005 - 16:19 #7
/flim

Hvor i while skal if-sætningen stå?

udskrivning = jeg kan jo åbne øjene.
Avatar billede kingrex666 Nybegynder
02. februar 2005 - 16:25 #8
til plx's eksempel:

Kan jeg selv bestemme hvad udskrivningen hedder istedet for 'cv_: 2' og 'xc_: 2' kunne jeg kalde dem 'blik : 2' og 'sten : 2'
Avatar billede kingrex666 Nybegynder
02. februar 2005 - 16:27 #9
/Plx og /flim

kan jeg udskrive hver værdi hver sit sted istedet for at det står samme sted?
Avatar billede kingrex666 Nybegynder
08. marts 2008 - 10:02 #10
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester