Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie dziala rmdir
Forum PHP.pl > Forum > Przedszkole
poncjusz
Mam kod

  1. <?php
  2.  
  3. if ($action== 'usun')
  4. {
  5. $id= $_GET['id'];
  6. $db-> query (&#092;"SELECT nazwa FROM images_oferta WHERE id_oferty= $id\");
  7. while ($nazwa= $db-> fetch_row())
  8. {
  9. if (file_exists($nazwa['nazwa']))
  10. unlink($nazwa['nazwa']);
  11. }
  12. $db-> query (&#092;"DELETE FROM images_oferta WHERE id_oferty= $id\");
  13. $db-> query (&#092;"SELECT plik FROM oferta WHERE id= $id\");
  14. $katalog= $db-> fetch_row();
  15. rmdir (&#092;"../\".$katalog['katalog']);
  16. $zapytanie=&#092;"DELETE FROM oferta WHERE id ='$id'\";
  17. }
  18.  
  19. ?>


I wyskakuje mi przy rmdir ze nie jest pusty katalog mimo ze sie ladnie chwile przed oproznil
Jabol
sprawdź ręcznie co tam jest.
poncjusz
Nie wiem co rozumiesz przez recznie ale sprawdzam po wykonaniu skryptu i mimo wywalenia bledu folder jest tym wczesniejszym unlinkiem oprozniony
nospor
ręcznie - otwórz TC (lub inne coś do przegladania dysku) i sprawdź czy oby na pewno jest pusty.
A skąd wiesz ze wywalil? Nie raportujesz sukcesów. daj tak:
  1. <?php
  2.  
  3. //...
  4.  while ($nazwa= $db-> fetch_row())
  5.     {
  6.         if (file_exists($nazwa['nazwa']))
  7. {
  8.             if (unlink($nazwa['nazwa']))
  9.                 echo &#092;"usunalem \".$nazwa['nazwa'].\"<br />\";
  10.             else
  11.                 echo &#092;"NIEEEE usunalem \".$nazwa['nazwa'].\"<br />\";
  12. }
  13.         else
  14.             echo &#092;"plik \".$nazwa['nazwa'].\" nie istnieje <br />\";
  15.     }
  16. //...
  17. echo 'usuwam katalog: '.&#092;"../\".$katalog['katalog'].'<br />';
  18. rmdir (&#092;"../\".$katalog['katalog']);
  19. ?>
poncjusz
Kurcze sprawdzilem i:

Kod
usunalem ../bezp/2.jpg
usunalem ../bezp/4m.jpg
usunalem ../bezp/4.jpg
usunalem ../bezp/cr.jpg
usunalem ../bezp/def.jpg
usunalem ../bezp/card.jpg
usunalem ../bezp/asmax.jpg
usunalem ../bezp/2m.jpg
usuwam katalog: ../bezp

Warning: rmdir(../bezp): Directory not empty in c:\usr\apache\httpd\html\techniserv1\admin\dodaj_oferte.php on line 57


Czyli usunal cala zawartosc i nie chce usunac katalogu...
Moze to cos z prawami dostepu?
nospor
no ale reczie sprawdzieles czy pusty? bo ty usuwasz pliki, ktore są w bazie. A przecież stan bazy nie musi się zgadzać ze stanem na dysku. Możesz też mieć pliku ukryte.
Jabol
a może pobież z bazy tylko katalog, a potem za pomocą opendir itd. opróżnij go już z poziomu php.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.