Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Całosciowe usuwanie katalogu na serwerze
Forum PHP.pl > Forum > Przedszkole
artisan
Napisalem sobie taką funkcje
  1. function delete($x,$y){
  2. $lista=ftp_nlist($x,$y);
  3. foreach($lista as $list)
  4. {
  5. @ftp_delete($x,$y.'/'.$list);
  6. }
  7. if(count($lista)==0)
  8. {
  9. ftp_rmdir($x,$y);
  10. }
  11. elseif(count($lista)>0)
  12. {
  13. foreach($lista as $listek)
  14. {
  15. delete($x,$y.'/'.$listek);
  16. }
  17. }
  18.  
  19. }

i nie dziala wywala takie cos
Cytat
Warning: ftp_delete() [function.ftp-delete]: Could not delete public_html/zh/library/Zend/.: Invalid argument in C:\xampp\htdocs\modelftp.php on line 86

Napisałem wcześniej nie przez foreach tylko for(), ale też nie działało. Na moje oko kod jest dobry
webdice
Podczas listowania plików i katalogów, wyświetlą Ci się dwa katalogi specjalne

Kod
.  <- aktualny katalog
.. <- nadrzędny katalog


Tych dwóch katalogów nie możesz usunąć.
artisan
Napisałem to nie rekurencyjnie i chyba powinno to działac, ale nie wchodzi w podkatalogi, prosze o nakierowanie mnie czy dobrze mysle
  1. private function deletedir()
  2. {
  3. $foldery=array();
  4. $co=$this->sciezka;
  5. $wynik=ftp_nlist($this->connect,$this->sciezka);
  6. $foldery=$this->sciezka;
  7. for($i=2;$i<=count($wynik);++$i)
  8. {
  9. if($wynik[$i] !='.' && $wynik[$i] !='..')
  10. {
  11. $gdzie=$co.'/'.$wynik[$i];
  12. ftp_chmod($this->connect,0777,$gdzie);
  13. if(!@ftp_delete($this->connect,$gdzie))
  14. {
  15. $foldery=$gdzie;
  16. $wynik=ftp_nlist($this->connect,$gdzie);
  17.  
  18. }
  19. }
  20. }
  21. if(count($foldery)>0)
  22. {
  23. foreach($foldery as $folder)
  24. {
  25. ftp_rmdir($this->connect,$folder);
  26. }
  27.  
  28. }
  29. }
rocktech.pl
Witam.

Dokumentacja i już ktoś rozwiązał ten problem.
redeemer
@rocktech.pl: Bardziej eleganckie byłoby użycie RecursiveDirectoryIterator http://www.php.net/manual/en/class.recursi...ator.php#102587, jednak autorowi chodzi o usunięcie katalogu na zdalnym serwerze po FTP.

http://www.php.net/manual/en/function.ftp-nlist.php#62306
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.