/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
At optælle .txt filer i et directory
Fra : Jens Christian Hille~


Dato : 29-09-02 20:48

Jeg vil gerne kunne tælle .txt filer i et directory op, og sætte dem i en
løkke, som skriver dem allesammen efter hinanden.. Den med løkken kan jeg
godt selv, men hvordan får jeg PHP til at finde alle .txt filer i et
directory?!?!?!

--
hygge
- Jens Christian Hillerup



 
 
Dan Molberg (29-09-2002)
Kommentar
Fra : Dan Molberg


Dato : 29-09-02 20:56

"Jens Christian Hillerup" <ask@4.it> wrote in message
news:an7lcs$2njb$1@news.cybercity.dk...
> Jeg vil gerne kunne tælle .txt filer i et directory op, og sætte dem i en
> løkke, som skriver dem allesammen efter hinanden.. Den med løkken kan jeg
> godt selv, men hvordan får jeg PHP til at finde alle .txt filer i et
> directory?!?!?!
Prøv evt denne funktion jeg lige har strikket sammen.

function CountFiles($ValidExt,$Dir) {
if ($DH = @opendir($Dir)) {
while ($DirEntry = @readdir($DH)) {
if ($DirEntry != "." && $DirEntry != ".." && is_file($Dir.$DirEntry)) {
$Ext = explode(".", $DirEntry);
$Ext = strtolower($Ext[count($Ext)-1]);
if ($Ext=$ValidExt)) {
$FileArray[] = $DirEntry;
}
}
}
closedir($DH);
}
@sort($FileArray);
return $FileArray;
}



Jens Christian Hille~ (29-09-2002)
Kommentar
Fra : Jens Christian Hille~


Dato : 29-09-02 21:17

> function CountFiles($ValidExt,$Dir) {
> if ($DH = @opendir($Dir)) {
> while ($DirEntry = @readdir($DH)) {
> if ($DirEntry != "." && $DirEntry != ".." && is_file($Dir.$DirEntry)) {
> $Ext = explode(".", $DirEntry);
> $Ext = strtolower($Ext[count($Ext)-1]);
> if ($Ext=$ValidExt)) {
> $FileArray[] = $DirEntry;
> }
> }
> }
> closedir($DH);
> }
> @sort($FileArray);
> return $FileArray;
> }
Tak.. Fatter ingenting, men jeg vil prøve at kalde den. Tak for det hurtige
svar. Smider den dem ikke ud i et array?

- Jens Christian Hillerup



Dan Molberg (29-09-2002)
Kommentar
Fra : Dan Molberg


Dato : 29-09-02 21:20

"Jens Christian Hillerup" <ask@4.it> wrote in message
news:an7n38$2ptt$1@news.cybercity.dk...
> > function CountFiles($ValidExt,$Dir) {
> > if ($DH = @opendir($Dir)) {
> > while ($DirEntry = @readdir($DH)) {
> > if ($DirEntry != "." && $DirEntry != ".." && is_file($Dir.$DirEntry))
{
> > $Ext = explode(".", $DirEntry);
> > $Ext = strtolower($Ext[count($Ext)-1]);
> > if ($Ext=$ValidExt)) {
> > $FileArray[] = $DirEntry;
> > }
> > }
> > }
> > closedir($DH);
> > }
> > @sort($FileArray);
> > return $FileArray;
> > }
> Tak.. Fatter ingenting, men jeg vil prøve at kalde den. Tak for det
hurtige
> svar. Smider den dem ikke ud i et array?
Det vil jeg tro: return $FileArray .....:)



Niels Andersen (29-09-2002)
Kommentar
Fra : Niels Andersen


Dato : 29-09-02 22:34

Jens Christian Hillerup wrote in <an7n38$2ptt$1@news.cybercity.dk>:
> Tak.. Fatter ingenting, men jeg vil prøve at kalde den.

Ja så lærer du jo ikke meget. Jeg prøver lige at kommentere lidt.

>> function CountFiles($ValidExt,$Dir) {
>> if ($DH = @opendir($Dir)) {

Der forsøges at åbne den mappe, du vil lede efter filer i.
Læs om PHP's dir-funktioner på http://dk.php.net/dir

>> while ($DirEntry = @readdir($DH)) {

her starter en løkke, som vil køres én gang for hver "ting", der er i
mappen.

>> if ($DirEntry != "." && $DirEntry != ".." && is_file($Dir.$DirEntry))

Hvis "tingen" ikke hedder "." eller "..", og i øvrigt er en fil...
(En sjov én, da både "." og ".." mig bekendt er mapper.)

>> {
>> $Ext = explode(".", $DirEntry);

Filnavnet bliver delt op i bidder, de steder der er punktum.

>> $Ext = strtolower($Ext[count($Ext)-1]);

Det stykke, der kommer efter det sidste punktum, bliver hevet ud.
Desuden sørges der for at alle bogstaver er små.

>> if ($Ext=$ValidExt)) {
>> $FileArray[] = $DirEntry;
>> }
>> }
>> }
>> closedir($DH);
>> }
>> @sort($FileArray);

Der bliver lige sorteret, så listen ser pæn ud.

>> return $FileArray;
>> }

Håber det hjælper på forståelsen. :)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Dan Molberg (29-09-2002)
Kommentar
Fra : Dan Molberg


Dato : 29-09-02 22:43


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:jmKl9.56978$Qk5.2094431@news010.worldonline.dk...
> >> if ($DirEntry != "." && $DirEntry != ".." &&
is_file($Dir.$DirEntry))
> Hvis "tingen" ikke hedder "." eller "..", og i øvrigt er en fil...
> (En sjov én, da både "." og ".." mig bekendt er mapper.)
Er pga, der var en fejl i en version af PHP der gjore at de var true både
som filer og mapper:((

> >> {
> >> $Ext = explode(".", $DirEntry);
>
> Filnavnet bliver delt op i bidder, de steder der er punktum.
>
> >> $Ext = strtolower($Ext[count($Ext)-1]);
> Det stykke, der kommer efter det sidste punktum, bliver hevet ud.
> Desuden sørges der for at alle bogstaver er små.
Så man fanger om filer så hedder .Txt eller .TXT osv...

>
> >> if ($Ext=$ValidExt)) {
Ups en lille fejl, skulle være if ($Ext==$ValidExt)) {


> >> $FileArray[] = $DirEntry;
Smider filnavnet i næste ledige array i resultat arryet.



Kim Emax - ayianapa.~ (30-09-2002)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 30-09-02 12:53


"Jens Christian Hillerup" <ask@4.it> skrev

> Jeg vil gerne kunne tælle .txt filer i et directory op, og sætte dem i en
> løkke, som skriver dem allesammen efter hinanden.. Den med løkken kan jeg
> godt selv, men hvordan får jeg PHP til at finde alle .txt filer i et
> directory?!?!?!

$handle = opendir("./"); # læser det directory du står i
while($file = readdir($handle)){ # smider hver fil (inkl. . og ..) i $file
if(ereg("\.txt$", $file)) { # tjekker at filen slutter på .txt ($
betyder slut af streng i RegEx)
$count_text_files++; # lægger 1 til tælleren (starter på 0)
print "$file<BR>"; # printer filnavnet, så andetsteds i tråden at du
havde brug for det
}
}

Var det det, du søgte?

--
Take Care
Kim Emax - Freelance programmør - Pt. Job og opgavesøgende.
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Søg
Reklame
Statistik
Spørgsmål : 177519
Tips : 31968
Nyheder : 719565
Indlæg : 6408659
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste