Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Usuwanie wszystkich plików z folderu.
dawhol
post 8.04.2007, 20:50:15
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


Wiem ze fukncja unlink moge skasować plik ale hmm ja potrzbuuje skasowac liczbe x plików z folderu i niewiem jak to zrobic tzn jak pobrac nazwy plikow do tablicy a pozniej skasowac kazzdy plik z osobna.

Proszę o pomoc.

Ten post edytował dawhol 9.04.2007, 08:34:13


--------------------
Go to the top of the page
+Quote Post
devnul
post 8.04.2007, 21:41:57
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


http://pl2.php.net/opendir


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
dawhol
post 8.04.2007, 22:17:16
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


hehe ;P jak bym nie próbował

robiłem tak:
  1. <?php
  2. $folder = "../upload/".$name."/";
  3.  
  4.  $files = scandir($folder);
  5.  $ile = count($files);
  6.  $f = 0;
  7.  for ($i = 1; $i <= $ile; $i++)
  8.  {
  9.  unlink($folder.$files[$f]);
  10. $f++;
  11.  };
  12. ?>
ale wyskakuje mi:

Warning: unlink(../upload/folder/.) [function.unlink]: Permission denied in c:\usr\apache\... on line 287

Warning: unlink(../upload/folder/..) [function.unlink]: Permission denied in c:\usr\apache\... on line 287

dodam iż chmody sa OK no i musi byc PHP 5 wtedy wiec wolał bym fukncja readdir ale
jak ją zastosowałem to wtedy w tablicy mam tylk "."(kropke) i nic więcej mimo że plików jest 9


Ten post edytował dawhol 8.04.2007, 22:18:50


--------------------
Go to the top of the page
+Quote Post
strife
post 8.04.2007, 22:39:27
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


No dobrze kombinujesz, ale nie wiem w czym masz teraz problem. Ponieważ:

  1. <?php
  2. for ($i = 1; $i <= $ile; $i++)
  3.  {
  4. if ( $files[$f] != '.' && $files[$f] != '..' )
  5. {
  6. unlink($folder.$files[$f]);
  7. $f++;
  8. }
  9.  };
  10. ?>


I Tyle, bo jak rozumiem pliki Ci Twoja funkcja kasuje tak?

PS. popraw ten ort. w temacie bo razi w oczy.

~edit
A może Ty chcesz usunąć całą zawartość katalogu, łączenie z katalogami i plikami w nim itp. ?


--------------------
Go to the top of the page
+Quote Post
dawhol
post 9.04.2007, 08:35:56
Post #5





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


W sumie to chce usunac jeden folder w którym sa pliki ale najpier musz usunac pliki zeby pozniej wunkcja rmdir skasowac folder.

Druga sprawa to zalezało by mi na wykorzystaniu readdir poniewaz on dziala w php4 a scandir tylko w php5 ;/
Zaraz sprawdze to co napisałes. Ale i tak dzieki winksmiley.jpg


~EDIT:

Teraz to wogóle nie usuwa tongue.gif plików ;/

Ten post edytował dawhol 9.04.2007, 08:42:48


--------------------
Go to the top of the page
+Quote Post
skowron-line
post 9.04.2007, 09:14:54
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <?php
  2.  
  3. $kat = 'skowron';
  4. $katalog = opendir($kat);
  5.  
  6. while($plik = readdir($katalog)) {
  7.  
  8. if($plik != '.' AND $plik != '..') {
  9.  
  10. unlink($kat.'/'.$plik);
  11. }
  12.  
  13. }
  14.  
  15. ?>


zobacz cos takiego (testowane 2 razy)

Ten post edytował skowron-line 9.04.2007, 09:15:45


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
dawhol
post 9.04.2007, 09:45:49
Post #7





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


ok teraz działa smile.gif ale co do porównania winksmiley.jpg to chyba == tongue.gif a nie = winksmiley.jpg ale to taki mały szczegól tongue.gif

pojawił się jednak jescze jeden problem teraz nieche usunac sie katalog ;P
mimo ze chmody sa OK to pisze ze dostep zabroniony


--------------------
Go to the top of the page
+Quote Post
skowron-line
post 9.04.2007, 10:30:41
Post #8





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(dawhol @ 9.04.2007, 08:45:49 ) *
ok teraz działa smile.gif ale co do porównania winksmiley.jpg to chyba == tongue.gif a nie = winksmiley.jpg ale to taki mały szczegól tongue.gif

pojawił się jednak jescze jeden problem teraz nieche usunac sie katalog ;P
mimo ze chmody sa OK to pisze ze dostep zabroniony


Kod
ok teraz działa :) ale co do porównania;) to chyba == :P a nie =;) ale to taki mały szczegól :P

jakie porownanie?questionmark.gif
Kod
pojawił się jednak jescze jeden problem teraz nieche usunac sie katalog;P
mimo ze chmody sa OK to pisze ze dostep zabroniony


to wez na chama przed usunieciem jeszcze raz ustaw chmoda i w nastepnej lini usun


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
dawhol
post 9.04.2007, 11:17:12
Post #9





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


  1. <?php
  2. if($plik != '.' AND $plik != '..') {
  3. ?>
a powinno byc chyba
  1. <?php
  2. if($plik !== '.' AND $plik !== '..') {
  3. ?>
tongue.gif tzn ja poprawiłem tak nie sprawdzałem czy z jednym = działa.


co do usuwania katalogu nadal to nie dziala ;/
  1. <?php
  2. $folder = "../upload/".$name;
  3.  
  4. chmod($folder.'/', 0777);
  5.  
  6.  if (!file_exists($folder.'/')) { echo ('<br /><div class="admin"><h4>Folder przypisany do danego obiektu nie istnieje</h4></div>'); }
  7.  else
  8.  {
  9.  if(!rmdir($folder.'/')) {echo 'Blad';} else {echo ('<br /><div class="admin"><h4>Folder przypisany do danego obiektu zostal skasowany !!!</h4></div>');}
  10.  
  11.  }
  12. ?>


--------------------
Go to the top of the page
+Quote Post
rojmarek
post 9.04.2007, 12:00:16
Post #10





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 10.09.2005

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


Cytat(dawhol @ 9.04.2007, 10:17:12 ) *
  1. <?php
  2. if($plik != '.' AND $plik != '..') {
  3. ?>
a powinno byc chyba
  1. <?php
  2. if($plik !== '.' AND $plik !== '..') {
  3. ?>

tak i tak zadziała. !== sprawdza nie identyczność, a != sprawdza nie równość... dyskretna różnica, np 1==TRUE zwróci true, a 1===TRUE zwróci false analogicznie
Go to the top of the page
+Quote Post
skowron-line
post 9.04.2007, 12:55:53
Post #11





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <?php
  2. $folder = "skof";
  3.  
  4. chmod($folder,0777);
  5.  
  6.  if (!file_exists($folder)) { echo ('<br /><div class="admin"><h4>Folder przypisany do danego obiektu nie istnieje</h4></div>'); }
  7.  else
  8.  {
  9.  if(!rmdir($folder)) {echo 'Blad';} else {echo ('<br /><div class="admin"><h4>Folder przypisany do danego obiektu zostal skasowany !!!</h4></div>');}
  10.  
  11.  }
  12. ?>


testowane 2 razy i dziala


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
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: 13.06.2024 - 04:42