Avatar billede winerror Nybegynder
14. februar 2004 - 22:24 Der er 25 kommentarer og
1 løsning

Dir Countere

Hai der alle sammen !!!

sider og ledere efter coden til at tæle fileren i et dir !!

fx

dir1
dir2
dir3


og så kan man fx få dem til at se såden her ud

dir1 [ 123 ]
dir2 [ 724 ]

total filere 2345

så jeg kan trække enklet ud i vær dir og en der tællere alle fileren :)

takker alel der hjælper
Avatar billede htm Nybegynder
14. februar 2004 - 23:05 #1
Vil du have antallet af filer i et bibliotek???

hvis ja, så prøv dette script:

<?php
function countfiles($dirname) {
    $d = dir($dirname);
    $i=0;
    while($entry = $d->read())
    {
        if ($entry != "." && $entry != "..")
        {
            if (is_file($dirname."/".$entry)) $i++;
        }
    }
    $d->close();
    return $i;
}
echo "Der er " . countfiles(".") . " filer i biblioteket ";
?>

ellers så forklar hvad det er du vil have :-)
Avatar billede htm Nybegynder
14. februar 2004 - 23:07 #2
Kan godt pakkes ned til:

<?php
function countfiles($dirname) {
    $d = dir($dirname);
    $i=0;
    while($entry = $d->read())
    {
        if (is_file($dirname."/".$entry)) $i++;
    }
    $d->close();
    return $i;
}
echo "Der er " . countfiles(".") . " filer i biblioteket ";
Avatar billede winerror Nybegynder
14. februar 2004 - 23:09 #3
ja men hvor skal jeg indsætte min adresse ???? :) for ska jo kunne trække fra fx mappen dir1 og dir2 :) og så ligge dem sammen bageftere :)
Avatar billede htm Nybegynder
14. februar 2004 - 23:14 #4
mappens navn indsætter du i countfiles("mappensnavn")

men hvad er det du vil? prøv og forklar dig lidt bedre
Avatar billede winerror Nybegynder
14. februar 2004 - 23:16 #5
alså fx her inde www.wallpapers.neonman.dk der har jeg nogen Kats og det er lidt skod at jeg ska skrive Manualt stk af hvor mange wallpapers jeg har i vær kats !! vil genre ha såden at den selv regnere sammen hvor mange der er 2tal og hvor mange der er  ivær kat
Avatar billede htm Nybegynder
14. februar 2004 - 23:18 #6
Og hvordan kommer de wallpapers ind? læser du biblioteket igennem for filer? læser du fra en database? eller?
Avatar billede winerror Nybegynder
14. februar 2004 - 23:20 #7
fra et biblotek :)
Avatar billede htm Nybegynder
14. februar 2004 - 23:27 #8
så kan du jo bare eks. skrive

$antal1 = countfiles("mappe1");
$antal2 = countfiles("mappe2");

så kan du lægge dem samme :
$alle = $antal1+$antal2;

Er det sådan noget du mener?

du kan også gøre som i dette kodeeksempel:

<?php
function countfiles($dirname) {
    $d = dir($dirname);
    $i=0;
    static $j;
    while($entry = $d->read())
    {
        if (is_file($dirname."/".$entry))
        {
            $i++;
            $j++;
        }
    }
    $d->close();
    return array($i,$j);
}
$antal= countfiles("mappe1");
echo "Der er " . $antal[0] . " filer i biblioteket <br>";
$antal= countfiles("mappe2");
echo "Der er " . $antal[0] . " filer i biblioteket <br>";
echo "Der er " . $antal[1] . "  filer i alt <br>";
?>
Avatar billede winerror Nybegynder
14. februar 2004 - 23:40 #9
http://www.wallpapers.neonman.dk/wallpaper.php hvorfor mellere den fejl :S tror jeg har glemt noget :(
Avatar billede htm Nybegynder
14. februar 2004 - 23:47 #10
Hvordan ser dit script ud? Ser ud til at du er ramt af safemode...

Men du mangler måske også " omkring damer i dir?

countfiles("damer");
Avatar billede winerror Nybegynder
14. februar 2004 - 23:49 #11
<?
include "top.php";
?>
<br>
<center>
<?
function countfiles($dirname) {
    $d = dir($dirname);
    $i=0;
    static $j;
    while($entry = $d->read())
    {
        if (is_file($dirname."/".$entry))
        {
            $i++;
            $j++;
        }
    }
    $d->close();
    return array($i,$j);
}
?>
<a href="damer.php">Damer</a> -
<? $antal= countfiles("damer");
echo "[ " . $antal[0] . " ] <br>"; ?>

<a href="linux.php">Linux</a> -<br>
<? $antal= countfiles("linux");
echo "[ " . $antal[0] . " ] <br>"; ?>

<a href="3d.php">3d Grafik</a> -<br>
<a href="anime.php">Anime</a> -<br>
<a href="auto.php">Transport Middler</a> -<br>
<a href="avia.php">Fly</a> -<br>
<a href="flowers.php">Blomster</a> -<br>
<a href="games.php">Computer Spil</a> -<br>
<a href="mountains.php">Bjerge</a> -<br>
<a href="movies.php">Film</a> -<br>
<a href="music.php">Musik</a> -<br>
<a href="nature.php">Natur</a> -<br>
<a href="ny.php">Jul / Nytår</a> -<br>
<a href="sky.php">Skyger</a> -<br>
<a href="space.php">Rummet</a> -<br>
<a href="sport.php">Sport</a> -<br>
<a href="animals.php">Dyr</a> -<br>
<br><br>
Total WallPapers <? echo " " . $antal[1] . " 2Tal"; ?>

</center>

<?
include "bund.php";
?>



såden her se mit script ud :)
Avatar billede htm Nybegynder
14. februar 2004 - 23:53 #12
Hvordan lister du filerne?
Avatar billede winerror Nybegynder
14. februar 2004 - 23:56 #13
det gør jeg i en anden fil hvor jeg listere kun for den kat :) når du klikkere på et af linken fx !
Avatar billede htm Nybegynder
15. februar 2004 - 00:00 #14
Hvilken funktion bruger du der til at liste med?

Du kan prøve denne funktion i stedet. Den gør det samme, bare med andre funktioner.

<?php
function countFiles($dir)
{
    $i  = 0;
    static $j;
    if (file_exists($dir))
    {
        $handle = opendir($dir);
        while (false !== ($file = readdir($handle)))
        {
            if (is_file($file))
            {
                $i++;
                $j++;
            }
        }
        closedir($handle);
    }
    return array($i,$j):
}
?>
Avatar billede htm Nybegynder
15. februar 2004 - 12:56 #15
Aahh - hvis du skriver den fulde sti til mappen virker scriptet fint på safemode...

function countfiles($dirname) {
    $d = dir($_SERVER['DOCUMENT_ROOT'] . "/" . $dirname);
    $i=0;
    static $j;
    while($entry = $d->read())
    {
        if (is_file($dirname."/".$entry))
        {
            $i++;
            $j++;
        }
    }
    $d->close();
    return array($i,$j);
}
Avatar billede winerror Nybegynder
15. februar 2004 - 16:43 #16
hmmm den fik jeg ikke lige helt fat i !!! :S hvor dan ska jeg så kalde talen fra siger du ?
Avatar billede htm Nybegynder
15. februar 2004 - 16:57 #17
Brug den sidste funktion.

Hvis dit script så ligger i roden af din webside kan du skrive:

$antal= countfiles("mappe1");
echo "Der er " . $antal[0] . " filer i biblioteket <br>";
$antal= countfiles("mappe2");
echo "Der er " . $antal[0] . " filer i biblioteket <br>";
echo "Der er " . $antal[1] . "  filer i alt <br>";

Hvis den eks. ligger i undermappen wallpapers ændrer du lige i funktionen:

denne linie:
$d = dir($_SERVER['DOCUMENT_ROOT'] . "/" . $dirname);
bliver til:
$d = dir($_SERVER['DOCUMENT_ROOT'] . "/wallpapers/" . $dirname);
Avatar billede winerror Nybegynder
18. februar 2004 - 14:15 #18
hmmm ja men fx mine mapper ang wallpapers ligger thumb/ e rdet så der hvor der står wallpapers der ska skiftes ud med thumb ?
Avatar billede htm Nybegynder
18. februar 2004 - 17:23 #19
yep lyder rigtigt.
Avatar billede winerror Nybegynder
19. februar 2004 - 13:48 #20
oki kan da lige prøve :D ender sikekr galt *GG* :D
Avatar billede winerror Nybegynder
19. februar 2004 - 13:50 #21
hmm men lige et spg mere !! hvad så vis det nu Fx er at der er fleger mapper hvad gør jeg så ?? fordi har jo mange mappere !! ska jeg så lave den der lange code for vær link eller er der en nemmer måde at lave det på ?
Avatar billede htm Nybegynder
19. februar 2004 - 18:23 #22
Lad denne være som :$d = dir($_SERVER['DOCUMENT_ROOT'] . "/" . $dirname);

kald så funktionen med:

$antal= countfiles("mappe1/undermappe1");
Avatar billede winerror Nybegynder
23. februar 2004 - 11:34 #23
arr okey :) prøver det lige så :) hi hi
Avatar billede winerror Nybegynder
02. marts 2004 - 00:33 #24
hmm ja har ik lgie tid ti lat teste det ;) men tror på dig her er poitnet :D hi h
Avatar billede winerror Nybegynder
02. marts 2004 - 00:33 #25
hmmm gør du lgie såden du kan få point :D
Avatar billede htm Nybegynder
02. marts 2004 - 05:56 #26
Det er OK :-)
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