Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie plików FTP z listy
Forum PHP.pl > Forum > PHP
Hirons
Witam. Mam problem. Mam kod który pokazuje mi wszystkie pliki w folderze i moje pytanie jest takie czy idzie zrobić tak aby przy każdym pojawiał się np. [usuń] i po kliknięciu usuwa ten wybrany plik z serwera. Proszę o pomoc.

  1. <?php
  2. $folder = dir('../galeria');
  3.  
  4. while($plik = $folder->read()) {
  5.  
  6. if (($plik != '.') AND ($plik != '..') AND ($plik != 'min')) {
  7.  
  8.  $nazwa = pathinfo($plik);
  9.  $pliki[$nazwa['basename']] = $nazwa['extension'];
  10.  
  11.  $dodaj = true;
  12.  for($i=0;$i<count($typ);$i++)
  13.   if ($typ[$i] == $nazwa['extension']) $dodaj = false;
  14.  
  15.  if ($dodaj == true) $typ[] = $nazwa['extension'];
  16.  }
  17.  
  18. }
  19.  
  20. $folder->close();
  21.  
  22. for($i=0;$i<count($typ);$i++) {
  23.  echo '<ul>';
  24.  foreach($pliki as $klucz => $wartosc)
  25.   if ($wartosc == $typ[$i]) echo '<li><a href="../galeria/' .$klucz. '">' .$klucz. '</a><br>Min: <a href="../galeria/min/' .$klucz. '">' .$klucz. '</a></li>';
  26. echo '</ul>';
  27. }
  28. ?>
golaod
http://pl2.php.net/unlink
Hirons
Wiem o komendie unlicnk ale jak to wpasować żeby dla każdego pliku było inne polecenie tzn. żeby odpowiedni plik kasowało po naćiśnięciu [usun]
erix
Przekazuj parametr przez GET?
Hirons
Prosiłbym o przykład (jestem kompletnie początkujący w PHP).
golaod
@erix

To było okrutne biggrin.gif

@Hirons

Skoro doszedłeś do tego, że umiesz listować foldery i pliki to w czym widzisz problem, żeby przekazać jakoś ścieżkę do pliku ? (Osobiście ostrzegam, rozwiązanie jakoby w GET była ścieżka do zmiennej. Bardziej polecam trzymanie tylko ID do rekordu w bazie czy coś)
Hirons
Cytat(golaod @ 9.06.2009, 13:58:48 ) *
Skoro doszedłeś do tego, że umiesz listować foldery i pliki to w czym widzisz problem, żeby przekazać jakoś ścieżkę do pliku ?

To jest z przykładu z neta. No nic poszukam gdzieś coś o GET. Ale dzięki chociaż za to.
marcio
  1. <?php
  2. echo '<li><a href="../galeria/' .$klucz. '">' .$klucz. '</a><br>Min: <a href="../galeria/min/' .$klucz. '">' .$klucz. '</a></li><Br>
  3.        <a href="?file='.$klucz.'">[usun]</a>';
  4. ?>

Do tego dajesz if'a ze stalym katalogiem oczywiscie najlepiej jak sobie zmapujesz wszystkie pliki z katalogu /galeria/ i porownywal z tym z geta z pelna sciezka wtedy nikt sie innych plikow nie usunie to jest najlatwiejsze i najlepsze zabezpieczenie jakie znam cos w ten desen:

  1. <?php
  2. if(isset($_GET['file']) && !empty($_GET['file'])) {
  3.  
  4. $folder = '../galeria/';
  5.  
  6. while($plik = $folder->read()) {
  7.  
  8. if (($plik != '.') AND ($plik != '..') AND ($plik != 'min')) $files[] .= $folder.$plik;
  9.  
  10. }
  11.  
  12. $folder->close();
  13.  
  14.  
  15. $plik = '../galeria/'.$_GET['file'];
  16.  
  17. if(file_exists($plik) && in_array($plik, $files)) unlink($plik);
  18.  
  19. else echo('<b style="color:#FF0000;">Nie mozna usunac pliku</b> <Br>');
  20.  
  21. }
  22. ?>

Cos w ten desen taki tylko zarys.
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.