Avatar billede kingrex666 Nybegynder
22. juni 2004 - 23:23 Der er 7 kommentarer og
1 løsning

tæl filer i subdir + auto opdate

hej folkens jeg står og skal bruge et lille script så kan tæller antalet af filer i et subdir og skrive fasit på en anden side. Der ud over skal det selv automatisk opdaterer tallet når/hvis antallet af filer ændre sig. Er der nogler der kan brygge sådan noget sammen eller hved om det allerede er lavet og hvor man så finder det???

/rasmus
Avatar billede jaw Nybegynder
22. juni 2004 - 23:30 #1
Den her vil kunne tælle dine filer:

<?
session_start();

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

$_SESSION['antal'] = $antal;
?>

På en anden side, kan du så udskrive $_SESSION['antal'] - dette kræver dog, at brugeren først har kørt den fil der tæller. Og den vil ikke autoupdate når du lægger en fil op. PHP kan ikke "køre af sig selv", så skal du f.eks. have fat i et cronjob der f.eks. opdaterer hvert 5. minut..

Ved ikke om det kan accepteres?
Avatar billede kingrex666 Nybegynder
22. juni 2004 - 23:37 #2
Det lyder ok ... det er også godt nok at tallet kun opdateres når siden loades.

men hvor skal denne bid php ligge og hvordan får jeg en side til at skrive det antal der er i subdir?
Avatar billede kingrex666 Nybegynder
22. juni 2004 - 23:38 #3
jeg skal vel skrive en eller anden form for include
Avatar billede jaw Nybegynder
22. juni 2004 - 23:42 #4
Jeps. Hvis du vil udskrive antallet, på samme side som scriptet kører, så er min SESSION overflødig. Så kan du nemt, lave en lille fil der hedder count.php hvor du lægger:

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

I den fil, hvor du vil udskrive - lad os kalde den fil.php - kan du så skrive:

<?

include("count.php");

echo $antal;

?>
Avatar billede kingrex666 Nybegynder
22. juni 2004 - 23:55 #5
Jeg har lige testet og det var præcis det jeg skulle bruge ... det er jeg glad for også er der vel kun tilbag at uddele nogle point.
Avatar billede kingrex666 Nybegynder
22. juni 2004 - 23:57 #6
Tak forresten
Avatar billede jaw Nybegynder
22. juni 2004 - 23:58 #7
Det var så lidt, glad for at kunne hjælpe :)
Avatar billede sukos Juniormester
23. juni 2004 - 00:13 #8
Jeg ville gøre så'n: (næsten det samme! :O] )

<?php

$antal = 0;
$fullpath = $_SERVER["DOCUMENT_ROOT"] ."/dirnavn/";
$handle=opendir($fullpath);
while (false !== ($file = readdir($handle))) {
    if(is_dir($fullpath . $file) {
continue;
}
    $antal++;
}
closedir($handle);

?>
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