Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]USuwanie wielu plikow
Forum PHP.pl > Forum > Przedszkole
marcio
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()?
tiraeth
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. ?>
marcio
Namotalem bo wczesniej inaczej ona wygladalo i w ogole juz mi sie pomieszalo biggrin.gif dzieki zapomnialo mi sie ze nie moze byc array
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.