Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]USuwanie wielu plikow
marcio
post 20.09.2008, 14:00:22
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam mam taki form:
  1. <?php
  2. <form action="'.$_SERVER['PHP_SELF'].'" method="post">
  3. <table align="center" width="100%">
  4. <tr>
  5. <td align="left">Nazwa<td>
  6. <td align="left">Typ<td>
  7. <td align="left">Wlasciciel</td>
  8. <td align="left">Grupa</td>
  9. <td align="left">Chmod</td>
  10. <td align="left">Zmodyfikowano</td>
  11. </tr>');
  12.  
  13. $files = listFiles($_POST['kat']);
  14.  
  15. foreach($files as $file) {
  16.  
  17. $typ = filetype($file);
  18. $user = posix_getpwuid(fileowner($file));
  19. $grupa = posix_getgrgid(filegroup($file));
  20. $chmod = decoct(fileperms(substr($file, -1, 2)));
  21. $mod = date('d/m/y Hi', filemtime($file));
  22. $nazwa_file = explode('/', $file);
  23.  
  24. echo('
  25. <tr>
  26. <td align="left"><input type="checkbox" name="plik[file][]" value="'.$file.'">
  27. <img src="../img/plik.png" alt="plik"> <a href="?file='.$file.'">'.$nazwa_file[count($nazwa_file)-1].'</a></td>
  28. <td align="left">'.$typ.'<td>
  29. <td align="left">'.$user['name'].'</td>
  30. <td align="left">'.$grupa['name'].'</td>
  31. <td align="left">'.$chmod.'</td>
  32. <td align="left">'.$mod.'</td>
  33. </tr>');
  34.  
  35. }
  36.  
  37. //Odbieram
  38.  
  39. if(isset($_POST['plik']) && isset($_POST['kasuj'])) {
  40.  
  41. foreach($_POST['plik'] as $tab => $pliki) {
  42.  
  43. print_r($pliki);
  44.  
  45. if(file_exists($pliki) && is_file($pliki))
  46.  
  47. if(unlink($pliki)) echo('<script>alert("Zaznaczone pliki zostaly usuniete");</script>');
  48.  
  49.  }
  50. }
  51. ?>


Print_r() zwraca mi:
Kod
Array (     [0] => ../www/grafa/avatry/kat/dsdsd.txt     [1] => ../www/grafa/avatry/kat/ssss.txt )

Ale plikow nie usuwa dlaczego?? dalem im nawet chmod 777

Skoro podaje cala sciezke powinno usunac lub mam otwierac katalog i sprawdzac czy jest taki plik za pomoca petli for()?


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
tiraeth
post 20.09.2008, 14:14:11
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Parametry funkcji file_exists" title="Zobacz w manualu PHP" target="_manual is_file" title="Zobacz w manualu PHP" target="_manual oraz unlink" title="Zobacz w manualu PHP" target="_manual może być ciąg znaków, a nie tablica. Poza tym nieźle namotałeś w tej pętli...

  1. <?php
  2. // ...
  3.  
  4. //Odbieram
  5. $usuniete = 0;
  6. if(isset($_POST['plik']) && isset($_POST['kasuj'])) { // mamy tablice, chcemy usunac
  7.  foreach($_POST['plik']['file'] as $plik) { // przelatujemy wszystkie pliki w tablicy "plik[file]", bo tak nazwales pole
  8.    if(file_exists($plik) && is_file($plik)) $usuniete = unlink($plik) ? 1 0; // Jesli istnieje i jest to plik, sprobuj usunac i ustaw zmienna $usuniete
  9.  }
  10.  if ( $usuniete == 1 ) { // jak usuniete, to wyswietl alert JS
  11.    echo '<script>alert("Zaznaczone pliki zostaly usuniete");</script>';
  12.  }
  13. }
  14. // ...
  15. ?>
Go to the top of the page
+Quote Post
marcio
post 20.09.2008, 14:33:45
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Namotalem bo wczesniej inaczej ona wygladalo i w ogole juz mi sie pomieszalo biggrin.gif dzieki zapomnialo mi sie ze nie moze byc array


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
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: 15.06.2025 - 23:37