Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie katalogu z plikami - problem rmdir() warning
Forum PHP.pl > Forum > PHP
merys
Witam .
mam problem z usunieciem katalogu z plikami. ponizszy kod wykonuje na Webser 1.2 i wszystko pieknie dziala. Wgralem to na serwer webd.pl i pokazuje komunikat .

Warning: rmdir(../oferty/0) [function.rmdir]: Directory not empty in C:\WebServ\httpd-users\invest\panel\view_dom.php on line 130

w lini 130 znajduje sie rmdir($dir);


  1. <?php
  2. if($co=="delete")
  3.  {
  4. $sql = "delete from oferta where d_id='".$d_id."'";
  5. $wynik = mysql_query($sql)or
  6. die("Bląd w zapytaniu produkt delete");
  7.  
  8.  
  9. $dir = '../oferty/'.$d_id.'/';
  10.  
  11. //--------------------------------------------------------------------------------------------
  12. function removeDir($dir)
  13.  {
  14. @$fd=opendir($dir);
  15. if(!$fd) return false;
  16. while (($file = readdir($fd)) !==false)
  17.  {
  18. if($file =="." || $file =="..") continue;
  19. if(is_dir($dir."".$file))
  20.  {
  21. @removeDir($dir."".$file);
  22.  }
  23. else
  24.  {
  25.  
  26. @unlink("$dir..$file");
  27.  
  28.  }
  29.  }
  30.  closedir($fd);
  31.  rmdir($dir);
  32.  }
  33.  
  34.  
  35. removeDir('../oferty/'.$d_id); 
  36.  
  37.  
  38.  
  39.  }
  40. ?>

po wykonaniu powyższej funkcji wyświetla się komunikat

Warning: rmdir(../oferty/0) [function.rmdir]: Directory not empty in C:\WebServ\httpd-users\invest\panel\view_dom.php on line 130

katalog oferty ustawiony jest na 777

Prosze o pomoc . Nie mam pojecia o co chodzi i dlaczego to nie dziala na serwerze zdalnym a lokalnie chodzi.
skowron-line
no to skoro pokazuje ze nie usunie bo folder nie jest pusty to najpierw w petli usun wszystko ze srodka
Pucy
moze to pomoze
  1. <?php
  2.  
  3. function removeDir($path) {
  4.  // Add trailing slash to $path if one is not there
  5.  if (substr($path, -1, 1) != "/") { $path .= "/"; }
  6.  
  7. // $temp = glob($path . "*");
  8.  
  9.  
  10.  foreach (glob($path . "*") as $file) {
  11.  
  12.  if (is_file($file) === TRUE) { // Remove each file in this Directory
  13.  
  14. unlink($file);
  15.  
  16.  } elseif (is_dir($file) === TRUE) { // If this Directory contains a Subdirectory, run this Function on it
  17.  
  18.  removeDir($file);
  19.  
  20.  }
  21.  }
  22.  
  23.  if (is_dir($path) === TRUE) { rmdir($path); }  // Remove Directory once Files have been removed (If Exists)
  24.  
  25.  } 
  26.  
  27.  
  28. removeDir('./mydup');
  29.  
  30. ?>
merys
dziękuje Pucy. pomogło jeszcze raz dzięki i pozdrawiam.
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.