Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie czy katalog jest pusty.
moto0095
post 7.05.2010, 20:19:48
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Witam. Szukam w google i nic nie znalazłem.
Wiem ,że można sprawdzić czy katalog jest pusty w ten sposób:
  1. <?
  2. $dir = 'Katalog';
  3. $katalog = scandir($dir);
  4. if(empty($katalog)){
  5. echo 'Pusto';
  6. }
  7. ?>

tylko ,że ja potrzebuję pominąć tam jeden plik.

Czyli mam teką strukturę:
Cytat
Katalog/
config.php


i chcę aby wyświetliło się że katalog jest pusty mimo tego ,że jest tam plik config.php.

Proszę o pomoc. smile.gif

winksmiley.jpg

Wie ktoś jak to zrobić questionmark.gif questionmark.gif

Ten post edytował moto0095 7.05.2010, 20:19:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
bajt
post 7.05.2010, 20:23:43
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 1
Dołączył: 9.09.2005

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


http://www.php.net/manual/pl/function.scandir.php
Tutaj masz wyjaśnione.
przeleć pętlą po $katalog ignorując config.php
Go to the top of the page
+Quote Post
moto0095
post 7.05.2010, 20:34:35
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Czytałem winksmiley.jpg

Ale jakoś nic mi do głowy nie przychodzi. sad.gif
Go to the top of the page
+Quote Post
tehaha
post 7.05.2010, 20:38:43
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


no samo nie przyjdzie, trzeba pomyślećsmile.gif

//a umiesz usuwać elementy z tablicy?

Ten post edytował tehaha 7.05.2010, 20:41:46
Go to the top of the page
+Quote Post
moto0095
post 7.05.2010, 20:41:05
Post #5





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Próbowałem tak:
  1. $katalog = scandir('katalog');
  2. foreach($katalog as $file){
  3. if($file != '.' && $file != '..' && $file != 'config.php'){
  4. if(empty($katalog)){
  5. echo 'Pusto';
  6. }else
  7. echo $file . '<br />';
  8. }
  9. }
  10.  

Ale to nie działa sad.gif
Proszę o pomoc .
Go to the top of the page
+Quote Post
tehaha
post 7.05.2010, 20:42:53
Post #6





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


to może usuń te 3 elementy z tablicy i sprawdź wtedy ile elementów zawiera
Go to the top of the page
+Quote Post
moto0095
post 7.05.2010, 20:50:11
Post #7





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Usunąłem te 3 elementy i pokazało:
.
..
config.php

czyli wszystkie pliki. sad.gif

A ja chcę aby wyświetliło wszystkie pliki z katalogu oprócz tych właśnie trzech, a jeżeli katalog jest pusty, to aby pokazało "Pusty" (oczywiście te 3 pliki znajdują się zawsze więc chcę aby skrypt je ignorował).

Ten post edytował moto0095 7.05.2010, 20:51:28
Go to the top of the page
+Quote Post
tehaha
post 7.05.2010, 20:54:44
Post #8





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


Cytat(moto0095 @ 7.05.2010, 21:50:11 ) *
(oczywiście te 3 pliki znajdują się zawsze więc chcę aby skrypt je ignorował).

dlatego usuń je z tej tablicy, a potem sprawdź ile elementów zawiera tablica
Go to the top of the page
+Quote Post
moto0095
post 7.05.2010, 21:11:35
Post #9





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Ok. Udało mi się zrobić coś takiego:
  1. $katalog = scandir('baza/uczniowie/'.$_SESSION['klasa_katalog']);
  2. foreach($katalog as $file){
  3. unset ( $katalog[0] );
  4. unset ( $katalog[1] );
  5. unset ( $katalog[2] );
  6. if(empty($katalog)){
  7. echo 'Pusto';
  8. }else{
  9. echo $file . '<br />';
  10. }
  11. }


tylko to wyświetla mi 3 razy Pusto:
PustoPustoPusto.
Go to the top of the page
+Quote Post
tehaha
post 7.05.2010, 21:14:03
Post #10





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


sprawdzenie czy jest pusty zrób poza pętlą
Go to the top of the page
+Quote Post
moto0095
post 7.05.2010, 21:28:23
Post #11





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


No to wtedy nic nie wyświetla sad.gif

Ma ktoś jakiś pomysł questionmark.gif
Go to the top of the page
+Quote Post
tehaha
post 7.05.2010, 21:34:35
Post #12





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


zamiast empty użyj funkcji count() i policz ile jest elementów
Go to the top of the page
+Quote Post
moto0095
post 7.05.2010, 22:03:55
Post #13





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Dzięki. Poradziłem sobie. Zrobiłem tak (może się komuś przyda):
  1.  
  2. $katalog = scandir('katalog');
  3. if(count($katalog) < 4){
  4. echo 'Pusto';
  5. }else{
  6. foreach($katalog as $file){
  7. if($file != '.' && $file != '..' && $file != 'config.php'){
  8. echo $file . '<br />';
  9. }
  10. }
  11. }
Go to the top of the page
+Quote Post
jajcarzd1
post 7.05.2010, 22:08:07
Post #14





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

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


MOżna by jeszcze użyć DirectoryIterator


--------------------
My mind is glowing ...
Jeśli pomogłem push the button :)
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: 21.06.2025 - 04:41