Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Zliczanie ilości plików w katalogu - jak najłatwiej ?
Setesh
post 30.04.2007, 18:14:32
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam takie pytanie... wykorzystuje listowanie katalogu do wyświetlenia plików lub katalogów w danym katalogu ale... potrzebuje jeszcze przed listowaniem poznać ilość plików/katalogów w danym katalogu aby wygenerować odpowiednią tabelkę w htmlu.

Wie ktoś czy istnieje jakaś funkcja w php w stylu np
  1. <?php
  2. $ile = Count_files($dir)
  3. ?>
? bardzo by mi to pomogło a jak nie to jak taką funkcję najłatwiej napisać ? sad.gif

PS : chodzi o PHP 4 bo w 5 znalazłem coś takiego :

  1. <?php
  2.  $katalog = 'c:';//realpath(dirname(__FILE__));
  3.  $dir = scandir($katalog);
  4.  $files = count( $dir );
  5.  echo 'Plików : '.$files;
  6. ?>


Ale potrzebuje z php 4 sad.gif

Ten post edytował Setesh 30.04.2007, 18:39:43


--------------------
Znudził Ci się wygląd twojej v39'ki ? Zmień to! :)

| Google | CodeGear | Swiss Delphi Center (ENG) | digitalmars.com | 4programmers.net | dsdt.info | BinBoy | delphi.cartall.com.pl | CPW.net.pl | cyfbar.republika.pl|
Go to the top of the page
+Quote Post
pbnan
post 30.04.2007, 18:30:29
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 27.03.2007
Skąd: Osiek almost City ;-D

Ostrzeżenie: (0%)
-----


Użyj iteratorów i pętli while - po więcej odsyłam do manuala lub Google smile.gif
//wtedy nie będziesz musiał znać rozmiarów przyszłej tabelki, tylko prosto zapiszesz:
  1. <?php
  2. echo '<table>';
  3. while (...) {
  4. echo '<tr><td>' /*...*/
  5. }
  6. ?>


Ten post edytował pbnan 30.04.2007, 18:32:58


--------------------
"Hmmm, na wakacje trzeba będzie zacząć zarabiać, co nie? ;-] GTA IV się coraz bardziej zbliża... ;-]"
To się nazywa częsty update sygnaturki.
;-)
Go to the top of the page
+Quote Post
href
post 30.04.2007, 18:45:03
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Kod
count(glob('katalog/*.*'));
Go to the top of the page
+Quote Post
Setesh
post 30.04.2007, 18:52:29
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


tak tylko nie chce znowu pętelki sobie na szyje zakładać smile.gif tzn nie chce mieszać w kodzie bo jakby nie patrzeć to funkcja typu Count_files($dir) tez będzie miała w sobie pętlę ale zajęło by mi może z 1 linijkę smile.gif

A jak niby dopasować to co napisałeś do tego :

  1. <?php
  2. $sciezka = realpath(dirname(__FILE__)).$firstdir.$_GET['cat'].'/'.$_GET['tips'];
  3. echo '<table><tbody>';
  4. if($uchwyt = opendir($sciezka))
  5. {
  6.  while(false !== ($plik = readdir($uchwyt)))
  7. {
  8.  if(($plik != '.') && ($plik != '..'))
  9.  {
  10. if(!is_dir($sciezka.$plik))
  11. {
  12.  include($sciezka.'/'.$plik);
  13.  echo '<tr valign=top><td>'.$data_publikacji.' </td>';
  14.  echo '<td><a '.$css_menu.' href=index.php?page='.$page.'&cat='.$cat.'&tips='.$tips.'&pos='.$plik.'>'.WinToISO($title).'</a></td></tr>';
  15. }else{};
  16.  }  
  17. }
  18.  closedir($uchwyt);
  19. }
  20. echo '</tbody></table>';
  21. ?>


Chcę zrobić tabelkę na zasadzie 3 kolumny na xx wierszy czyli coś ala... to :

C1 C2 C3
------ ------ ------ R1
------ ------ ------ R2
------ ------ R3

Więc nie za bardzo mi to pomoże jeżeli nie poznam ilości plików lub katalogów w danym katalogu sad.gif

To mi o dziwo wywala za każdym razem że tylko jeden plik znalazło sad.gif

  1. <?php
  2.  $katalog = 'C:usrkrasnalwwwszablonpage';
  3.  $files = count(glob($katalog));
  4.  echo 'Plików : '.$files.' w katalogu : <br><br>'.$katalog;
  5. ?>


Mój błąd sad.gif Już działa smile.gif

poprawka :

  1. <?php
  2.  $katalog = 'C:usrkrasnalwwwszablonpage';
  3.  $files = count(glob($katalog.'/*.*'));
  4.  echo 'Plików : '.$files.' w katalogu : <br><br>'.$katalog;
  5. ?>


Ten post edytował Setesh 30.04.2007, 18:54:19


--------------------
Znudził Ci się wygląd twojej v39'ki ? Zmień to! :)

| Google | CodeGear | Swiss Delphi Center (ENG) | digitalmars.com | 4programmers.net | dsdt.info | BinBoy | delphi.cartall.com.pl | CPW.net.pl | cyfbar.republika.pl|
Go to the top of the page
+Quote Post
kiler129
post 30.04.2007, 20:39:26
Post #5





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Najszybszym sposobem będzie zrobienie petli czytajacej pliki w katalogu i liczenie ile razy wykonala sie pętla winksmiley.jpg


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
Setesh
post 30.04.2007, 21:00:20
Post #6





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Setesh @ 30.04.2007, 19:52:29 ) *
tak tylko nie chce znowu pętelki sobie na szyje zakładać smile.gif tzn nie chce mieszać w kodzie bo jakby nie patrzeć to funkcja typu Count_files($dir) tez będzie miała w sobie pętlę ale zajęło by mi może z 1 linijkę smile.gif


Taaa.... już to rozwiązałem na powyższym przykładzie za co wielkie dzięki dla href'a smile.gif

w sumie to można już ten temat dać jako offtopic.gif tongue.gif


--------------------
Znudził Ci się wygląd twojej v39'ki ? Zmień to! :)

| Google | CodeGear | Swiss Delphi Center (ENG) | digitalmars.com | 4programmers.net | dsdt.info | BinBoy | delphi.cartall.com.pl | CPW.net.pl | cyfbar.republika.pl|
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 23:20