25. august 2005 - 12:31
Der er
14 kommentarer og 1 løsning
udvid tæller
hej alle jeg har denne tæller function TaelFiler($dir) { global $antal; $handle=opendir($dir); while (false !== ($file = readdir($handle))) { if($file != "." && $file != "..") { if (is_dir("$dir/$file")) TaelFiler("$dir/$file"); else $antal++; } } closedir($handle); return $antal; } $antal = 0; echo TaelFiler("./mad/andet"); jeg ville gerne hvis man kunne modificrere den til at spring forudbestemte dirs over med en $skip = array ("./thumbs") jeg ved bare ikke lige hvordan og hvor den skla stå /Rasmus
Annonceindlæg fra Cognizant
25. august 2005 - 12:38
#1
Prøv: function TaelFiler($dir) { $skip = array("/thumbs"); global $antal; $handle=opendir($dir); while (false !== ($file = readdir($handle))) { if($file != "." && $file != "..") { if (is_dir("$dir/$file") && !in_array($file, $skip)) TaelFiler("$dir/$file"); else $antal++; } } closedir($handle); return $antal; } Muligvis $skip-arrayet lige skal tilpasset mht. at få det sti-træ.
25. august 2005 - 12:44
#2
Den tælle stadigvæk alle filer og springer ikke over thumbs
25. august 2005 - 12:47
#3
mappestrukturen er således: count.php skal tælle filer i mappen mad/andet heri ligger der en mappe thumbs med de samme filer i og de skal ikke tælles.
25. august 2005 - 12:47
#4
Så prøv: $skip = array("thumbs");
25. august 2005 - 12:53
#5
nej det virker ikke i mappen mad er der 17 filer og to mapper count.php skal tælle 17 filer og springe over mapperne.
25. august 2005 - 12:54
#6
Skal den springe alle mapper over? Eller kun nogen du vælger? For hos mig virker det nu rimeligt...
25. august 2005 - 12:55
#7
dem jeg vælger
25. august 2005 - 13:00
#8
undskyld sorry .... den udelukke fint den ene mappe men tæller den anden
25. august 2005 - 13:01
#9
men den tæller mappen som en fil
25. august 2005 - 13:03
#10
Prøv lige denne: function TaelFiler($dir) { $skip = array("./slet/map"); global $antal; $handle=opendir($dir); while (false !== ($file = readdir($handle))) { if($file != "." && $file != "..") { echo $dir."/".$file."<br />"; if (is_dir("$dir/$file") && !in_array($dir."/".$file, $skip)) TaelFiler("$dir/$file"); else $antal++; } } closedir($handle); return $antal; } echo TaelFiler('./slet'); Det er mest for at få hele strukturen på bibliotekerne, ellers har jeg haft et par underbiblioteksproblemer. Og den tæller mappen som en fil? Det gør den nu godt nok ikke her...
25. august 2005 - 13:03
#11
ok fandt ud af hvordan men skrev flere mapper åp listen ..... men den tælle stadigvæk mapper med som filer ... kan men evt, difinerer en endelse på filer der skla tælles?
25. august 2005 - 13:05
#12
Du havde ret, den tæller filer. Det var fordi jeg havde en lille ændring her lokalt for at se outputtet. Men prøv det her, så skulle den ikke tælle biblioteker mere: function TaelFiler($dir) { $skip = array("./slet/map"); global $antal; $handle=opendir($dir); while (false !== ($file = readdir($handle))) { if($file != "." && $file != "..") { if (is_dir("$dir/$file")) { if(!in_array($dir."/".$file, $skip)) { TaelFiler("$dir/$file"); } } else { $antal++; } } } closedir($handle); return $antal; }
25. august 2005 - 13:07
#13
Ævl, filer skulle den jo tælle - det er selvfølgelig bibliotek jeg snakker om :)
25. august 2005 - 13:10
#14
perfekt. Nu virker det lige som jeg ønskede smid et svar Og det er mig der takker suber service
25. august 2005 - 13:10
#15
Kanon :) Og selv tak...
Vi tilbyder markedets bedste kurser inden for webudvikling