Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP] Kasowanie plikó w pętli
Forum PHP.pl > Forum > Przedszkole
lukaszk
Witam, galerię zdjęć o strukturze



|-Galerie
|--Nazwa_albumu
|---thumb
|---img

Założenia są takie
Sprawdź czy w katalogu są pliku
jeśli są usuń pliki
następnie usuń katalog (img, thumb)
kolejna sprawdź czy w Nazwa_albumu są pliki
usuń te pliki - usuń katalog.
Robi to jeśli wszystkie katalogi są puste (bez plików)

Jeśli wgram pliki do katalogu img, thumb to usuwa te pliki i katalogi thumb, img ale podczas usuwania Nazwa_albumu wywala bład mimo że katalog jest pusty.
  1. Warning: rmdir(../upload/galerie/25) [function.rmdir]: Directory not empty in C:\Program Files\VertrigoServ\www\Strona\admin\page\mod_galerie.php on line 76

czyli rmdir("$katalog_ded/");

  1. $katalog_ded =$_POST['katalog_ded'];
  2. $thumb_del='thumb/';
  3. $miniaturka_del='miniaturka/';
  4. if ($_POST['kasuj_galerie'] and !empty($idb) && ($_SESSION["login_admin"]=='admin')) {
  5. $test = file_exists("$katalog_ded/$thumb_del");
  6. if (!$test) {
  7. echo '<p class="message_05 message-warning_2 canhide"><b>Katalog thumb został usunięty z serwera<img title="zamknij" width="25px;" align="right" src="images/delete.png"></b></p>';
  8. } else {
  9. /* usuwamy katalog */
  10. $directory_thumb="$katalog_ded/$thumb_del"; //tu zmieniamy folder
  11. $dir_thumb=opendir($directory_thumb);
  12. while($file_name_thumb=readdir($dir_thumb))
  13. {
  14. if(($file_name_thumb!=".")&&($file_name_thumb!=".."))
  15. {
  16. unlink("$directory_thumb/$file_name_thumb");
  17. }
  18.  
  19. }
  20.  
  21. rmdir("$katalog_ded/$thumb_del");
  22. closedir($dir_thumb);
  23. }
  24.  
  25. $test = file_exists("$katalog_ded/$miniaturka_del");
  26. if (!$test) {
  27. echo '<p class="message_05 message-warning_2 canhide"><b>Katalog miniaturka został usunięty z serwera<img title="zamknij" width="25px;" align="right" src="images/delete.png"></b></p>';
  28. } else {
  29. $directory_miniaturka="$katalog_ded/$miniaturka_del"; //tu zmieniamy folder
  30. $dir_miniaturka=opendir($directory_miniaturka);
  31. while($file_name_miniaturka=readdir($dir_miniaturka))
  32. {
  33. if(($file_name_miniaturka!=".")&&($file_name_miniaturka!=".."))
  34. {
  35. unlink("$directory_miniaturka/$file_name_miniaturka");
  36. }
  37.  
  38. }
  39.  
  40. rmdir("$katalog_ded/$miniaturka_del");
  41. closedir($dir_miniaturka);
  42. }
  43. $test=file_exists(("$katalog_ded/$miniaturka_del") && ("$katalog_ded/$thumb_del"));
  44. if (!$test) {
  45. echo '<p class="message_05 message-warning_2 canhide"><b>Katalog '.$katalog_ded.' został poprawnie usunięty z serwera<img title="zamknij" width="25px;" align="right" src="images/delete.png"></b></p>';
  46. rmdir("$katalog_ded/");
  47. } else {
  48. echo "cos";
  49. rmdir("$katalog_ded/");
  50. }
nospor
http://pl.php.net/manual/pl/function.rmdir.php
Masz tam w pierwszym przykłądzie krótką funkcję do usuwania rekurencyjnego katalogów i plików. Po co sobie życie utrudniasz skoro to wszystko już ktoś dawno temu napisał?
lukaszk
Dziękuję nie korzystałem z klas z niewiedzy wolałem pisać tak jak potrafię ale muszę poświęcić trochę czasu na same klasy bo wszystko jest w manualu.
Dziękuję za pomoc pierwszy z brzegu robi dokładnie co chcę.
Pozdrawiam

ps. poradź jakiś dobry kurs jak korzystać z klas smile.gif
nospor
Jakich klas? Przecież przykład co ci podałem nie korzysta z żadnych klas...
lukaszk
smile.gif chodziło mi o funkcje
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.