Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] system plikow - problemy z katalogami :/
tojakw
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.09.2004

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


Helo,
mam kilka problemow z systemem plikow (a raczej katalgow) w php :/


1.

Jak sprawdzic, jakie katalogi znajduja sie 'jakims' katalogu? Mam tak ulozone katalogi:
Kod
-> fotoalbum (katalog)
    -> main.php (skrypt)
    -> foto (katalog)
        -> karol (katalog)
            -> ja.jpg (grafika)
        -> agata (katalog)
        -> basia (katalog)

I chcialbym sprawdzic jakie katalogi znajduja sie w katalogu -foto-, wiec napisalem cos takiego
  1. <?php
  2. //main.php
  3. function menu($sciezka){
  4.  
  5. if (!($dp = opendir($sciezka))) die (&#092;"Blad\");
  6. while($file = readdir($dp)) {
  7. if(is_dir($file) && $file != '.' && $file != '..') 
  8.  echo $file;
  9. }
  10. }
  11.  
  12. $sciezka = './foto/'; 
  13. menu ($sciezka);
  14. ?>

I tu nie dziala funkcja is_dir() :/ tj. nie wyswietla katalogu.
Dlaczego?


2.

Czy mozna jakos wyciagnac date utworzenia katalogu?
  1. <?
  2. echo &#092;"data /<br>\".date('j F Y', filemtime($sciezka)); 
  3. ?>

Ten kody nie pokazuje daty utworzenia katalou, tylko date najmlodszego "ostatnio uzywanego" pliku w tym katalogu. W manualu nie znalazlem zadnej funkcji, ale moze ktos bedzie wiedzial (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


3.

  1. <?
  2. function info ($sciezka){
  3.  
  4. $wielkosci = array();
  5.  
  6. if (!($dp = opendir($sciezka))) die (&#092;"Blad\");
  7. while($file = readdir($dp)) {
  8. if($file != '.' && $file != '..')
  9. $ilosc++;
  10. $wielkosci[] = filesize($file); //linia 25
  11. }
  12.  
  13.  
  14. echo &#092;"album / \".basename($sciezka).\"<br>\";
  15. //echo \"data /<br>\".date('j F Y', filemtime($sciezka));
  16. echo &#092;"ilosc zdjec / \".$ilosc.\"<br/>\";
  17. //echo \"rozmiar / \".disk_total_space($sciezka);
  18.  
  19. //is_array($wielkosci);
  20. }
  21.  
  22. $sciezka = './foto/karol';
  23. info($sciezka);
  24. ?>


Jak obliczyc rozmiar plikow w katalogu? Myslalem, ze za pomoca filesize() zapisze wielkosc do tablicy, i potem zsumuje, ale pokazuja sie takie bledy:
Kod
Warning: filesize(): Stat failed for [nazwa pliku] (errno=2 - No such file or directory) in C:\(...)pokaz.php on line 25


Jest tez taka funkcja disk_total_space ( string katalog), probowalem jej uzyc, ale ona nic nie zwraca (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Cytat(manual)
Podając łańcuch zawierający katalog, funkcja ta zwróci całkowity rozmiar (w bajtach) w odpowiadającym mu systemie plików lub partycji dysku.

Co to jest ten "łańcuch zawierający katalog"? Nalezy uzywac jakis dirname/basename/itd?

Pozdrawiam, i dziekuje za pomoc (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

(to forum, to moja ostatnia deska ratunku (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

PS. http://forum.php.pl/index.php?showtopic=24021 nie jestem sam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(mike_mech @ 2004-12-18 21:23:19)
1.
Cytat
-> fotoalbum (katalog)
   -> main.php (skrypt)
   -> ...
   ...

  1. <?php
  2. $sciezka = './foto/';
  3. ?>

Wniosek : fotoalbum != foto

OJ, przepraszam, nie doczytałem.
Ale faktem jest to że jak zrobię tak :
  1. <?php
  2.  
  3. $sciezka = './';
  4.  
  5. if ( ! ( $dp = opendir( $sciezka ) ) ) die ( &#092;"Blad\" );
  6. {
  7. while( $file = readdir( $dp ) )
  8. {
  9. if( $file != '.' && $file != '..' )
  10. {
  11. $ilosc++;
  12. $wielkosci[ $file ] = filesize( $file );
  13. }
  14. }
  15. }
  16.  
  17.  
  18. echo '<pre>'
  19. print_r( $wielkosci );
  20. echo '</pre>';
  21.  
  22. ?>

To działa. I wszystki skrypty, które podałeś działają. Więc nie wiem w czy problem. Podaj może może jakie błędy wywala php ( o ile wywala ).
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 10:53