Avatar billede kingrex666 Nybegynder
18. februar 2005 - 22:32 Der er 8 kommentarer og
1 løsning

hvorfor virker den ene tælle men den anden ikke

1: virker:

$fisk_hov_taeller = 0;
$fisk_for_taeller = 0;
$handle=opendir('./mad/fisk');
while (false !== ($file = readdir($handle)))
{
    if($file != "." && $file != "..")
    {
    if (substr($file,0,3) == "hov")
    {
            $fisk_hov_taeller++;
    }
    if (substr($file,0,3) == "for")
    {
            $fisk_for_taeller++;
    }
    }
}
closedir($handle);
echo $fisk:for_taeller;

-------------------------

2: virker IKKE:

$dres_taeller = 0;
$handle=opendir('./mad/dress');
while (false !== ($file = readdir($handle)))
{
    if($file != "." && $file != "..")
    {
    if (substr($file,0,3) == "dres")
    {
            $dres_taeller++;
    }
    }
}
closedir($handle);
echo $dres_taeller;


-----------------------

Jeg ved at der ligger filer i dress dir og jeg ved at de starter med dres
/Rasmus
Avatar billede detox Nybegynder
18. februar 2005 - 22:35 #1
if (substr($file,0,3) == "dres")

skal nok være:

if (substr($file,0,4) == "dres")
Avatar billede kingrex666 Nybegynder
18. februar 2005 - 22:48 #2
nej desværre, jeg har en der hedder ost i stedet for dres som virker men hvis jeg kopierer og laver navne om virker det ikke ... jeg har tjekket og tjekket og tjekket navne om de er rigtige og det er de.
Avatar billede detox Nybegynder
18. februar 2005 - 22:59 #3
Prøv med en function:

function Tael($dir, $pre) {
    $t = 0;
    $len = strlen($pre);
    $handle=opendir($dir);
    while (false !== ($file = readdir($handle)))
    {
        if($file != "." && $file != "..")
        {
            if (substr($file,0,$len) == $pre)
            {
                $t++;
            }
        }
    }
    closedir($handle);
    return $t;
}

Den kan så kaldes med de forskellige mapper og ord, som fx:
echo Tael('./mad/dress', 'dres');
echo Tael('./mad/fisk', 'hov');
echo Tael('./mad/fisk', 'for');
Avatar billede detox Nybegynder
18. februar 2005 - 23:11 #4
Lidt kortere version:

function Tael($dir, $pre) {
    $t = 0;
    $len = strlen($pre);
    $d = dir($dir);
    while (false !== ($file = $d->read())) {
        if (substr($file,0,$len) == $pre) $t++;
    }
    $d->close();
    return $t;
}
Avatar billede kingrex666 Nybegynder
18. februar 2005 - 23:22 #5
jeg har lavet en fil med indhold af function og includet den i hver enkelt fil der efter har jeg et sted på siden skrevet <? echo Tael('./mad/dress', 'dres'); ?> og får nu følgende fejl

Fatal error: Call to undefined function: tael() in /var/www/hotels/.dk/2kokke/html/MadDresingerMain.php on line 19
Avatar billede detox Nybegynder
18. februar 2005 - 23:25 #6
Det lyder mystisk. Prøv evt. med require() istedet for include(), så du er sikker på at filen bliver hentet ind.
Avatar billede kingrex666 Nybegynder
18. februar 2005 - 23:27 #7
sorry sorry sorry

slår lige mig selv meget hårdt i hovedet ... skulle jo nok lige oploade den fil med funktionen inden jeg 'brokker' mig det virker perfekt

svar gerne
Avatar billede detox Nybegynder
18. februar 2005 - 23:28 #8
Værsgo' ;o)
Avatar billede kingrex666 Nybegynder
18. februar 2005 - 23:32 #9
PERFEKT men det ved du jo snart. :)
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