Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Całosciowe usuwanie katalogu na serwerze
artisan
post 5.07.2012, 14:59:34
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 14.11.2011
Skąd: Wieliczka

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


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

Ten post edytował artisan 5.07.2012, 15:02:39
Go to the top of the page
+Quote Post
webdice
post 5.07.2012, 19:43:07
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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ąć.
Go to the top of the page
+Quote Post
artisan
post 9.07.2012, 10:12:33
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 14.11.2011
Skąd: Wieliczka

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


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. }
Go to the top of the page
+Quote Post
rocktech.pl
post 9.07.2012, 10:16:20
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Dokumentacja i już ktoś rozwiązał ten problem.


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
redeemer
post 9.07.2012, 10:22:32
Post #5





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


@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

Ten post edytował redeemer 9.07.2012, 10:30:14


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 02:24