Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie czy katalog jest pusty.
moto0095
post
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. (IMG:style_emoticons/default/smile.gif)

(IMG:style_emoticons/default/winksmiley.jpg)

Wie ktoś jak to zrobić (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/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
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
Post #3





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

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


Czytałem (IMG:style_emoticons/default/winksmiley.jpg)

Ale jakoś nic mi do głowy nie przychodzi. (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
tehaha
post
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ć(IMG:style_emoticons/default/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
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 (IMG:style_emoticons/default/sad.gif)
Proszę o pomoc .
Go to the top of the page
+Quote Post
tehaha
post
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
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. (IMG:style_emoticons/default/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
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
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
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
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 (IMG:style_emoticons/default/sad.gif)

Ma ktoś jakiś pomysł (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
tehaha
post
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
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
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
Go to the top of the page
+Quote Post

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: 24.08.2025 - 10:08