Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Usuwanie plików
ystudio
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.12.2009

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


Witam,
Listuję grafiki z folderu za pomocą poniższej funkcji. Chcę, aby link usuń po każdej grafice usuwał dany plik.
Proszę o pomoc

Kod
$directory="../upload";
$dir=opendir($directory);

while($file_name=readdir($dir))
    {
         if(($file_name!=".")&&($file_name!=".."))
        {
        $img = '../upload/'.$file_name;
        echo '<img src="'.$img.'" alt="obrazek" width="200" />';
        echo '<a href="">Usuń</a>';
        echo ' ';
        }
    }

closedir($dir);


?>
Go to the top of the page
+Quote Post
jasin
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

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


  1. <?php
  2. $directory="../upload";
  3. $dir=opendir($directory);
  4.  
  5. while($file_name=readdir($dir))
  6. {
  7. if(($file_name!=".")&&($file_name!=".."))
  8. {
  9. $img = '../upload/'.$file_name;
  10. echo '<img src="'.$img.'" alt="obrazek" width="200" />';
  11. echo '<a href="delete.php?do=deleteimg&filename=' . $file_name . '">Usuń</a>';
  12. echo ' ';
  13. }
  14. }
  15.  
  16. closedir($dir)


[delete.php]
  1. <?php
  2.  
  3. if ($_REQUEST['do'] == 'deleteimg' AND !empty($_REQUEST['filename']))
  4. {
  5. if (unlink('../upload/' . $_REQUEST['filename']))
  6. {
  7. echo "Plik {$_REQUEST['filename']} został usunięty";
  8. }
  9. else
  10. {
  11. echo "Nie udało się usunąć pliku {$_REQUEST['filename']}";
  12. }
  13. }


To tak na szybko pod Twój kod. Aczkolwiek bezpieczniejsze byłoby usuwanie przez posta.

Ten post edytował jasin 26.03.2012, 21:25:35
Go to the top of the page
+Quote Post
ystudio
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.12.2009

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


Dzięki. "luzem" działa jak należy, ale gdy wrzucam do swojego panelu do zarządzania stroną to już nie działa.

pod taką sciezka mam podstrone z wylistowanymi plikami:
http://localhost/strona/admin/index.php?module=listowanie

po kliknięciu usuń przechodzi do prawidłowego adresu, ale wyświetlana jest główny index mojej strony, a pliki nie zostają usunięte...
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Klasyczny błąd - my podajemy wskazówki a ty sam masz rozwiązać problem. Masz swój panel, więc powinieneś wiedzieć jak dodawać do niego nowe moduły... bo z tego co widzę nie podano prawidłowego adresu i/lub pod podanym adresem nie istnieje żądany plik.

Go to the top of the page
+Quote Post
ystudio
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.12.2009

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


Pod taki adres przechodzi po kliknięciu w "usuń": http://localhost/strona/admin/listowanie.p...71332798876.jpg
Nazwa pliku jest prawidłowa, ścieżka też wydaje się poprawna, ale nie działa...

Zawartość listowanie.php:

Kod
<?php

if ($_REQUEST['do'] == 'deleteimg' AND !empty($_REQUEST['filename']))
{
    if (unlink('../upload/' . $_REQUEST['filename']) and unlink('../thumb/' . $_REQUEST['filename']))
    {
        echo "Plik {$_REQUEST['filename']} został usunięty";
    }
    else
    {
        echo "Nie udało się usunąć pliku {$_REQUEST['filename']}";
    }
}



$directory="../thumb";
$dir=opendir($directory);

while($file_name=readdir($dir))
    {
         if(($file_name!=".")&&($file_name!=".."))
        {
        $img = '../thumb/'.$file_name;
        echo '<img src="'.$img.'" alt="obrazek" width="200" />';
        echo '<a href="listowanie.php?do=deleteimg&filename=' . $file_name . '">Usuń</a>';
        echo ' ';
        }
    }

closedir($dir);


?>
Go to the top of the page
+Quote Post
CuteOne
post
Post #6





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Sprawdź czy masz tam plik .htaccess(plik może się znajdować w katalogach wyższego rzędu) i jeżeli istnieje co on zawiera
Go to the top of the page
+Quote Post
ystudio
post
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.12.2009

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


htaccess:
Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
Go to the top of the page
+Quote Post
CuteOne
post
Post #8





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Masz już odpowiedź dlaczego nie działa...
Go to the top of the page
+Quote Post
ystudio
post
Post #9





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 4.12.2009

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


Bez takiej zawartości htaccess'u sypią mi się podstrony.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 22:14