![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Tym razem mam taki oto problemik. Przekazuję metodą $_GET nr id wierszy tabeli do skryptu pdf_del_all.php:
Teraz skrytp pdf_del_all.php powinien usunąć z bazy wskazane wiersze oraz pliki z serwera powiązane przez zapisaną ścieżkę:
Puki co skrypt usuwa z bazy wiersze lecz nie wszystkie - pozostaje jeden wiersz mimo że print_r($id_d) pokazuje wszystkie wiersze będące w tabeli. Nie wiem też jak pobrać z bazy ścieżkę do pliku, a następnie usunąć go z serwera.
Jakaś wskazówka.... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście zmienna GET powinna zostać zabezpieczna przez ew. atakiem. Następnie foreach po pobranych wierszach oraz unlink() wg ścieżki z kolumny `pdf_nazwa_pliku`. Na końcu:
Edit: Zamiast stosować jakieś dziwne funkcje do składania i rozkładania string'u do/z tablicy zastosuj implode() i explode(). Ten post edytował mokry 7.01.2013, 20:43:05 -------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście zmienna GET powinna zostać zabezpieczna przez ew. atakiem. Następnie foreach po pobranych wierszach oraz unlink() wg ścieżki z kolumny `pdf_nazwa_pliku`. Na końcu:
Edit: Zamiast stosować jakieś dziwne funkcje do składania i rozkładania string'u do/z tablicy zastosuj implode() i explode(). No właśnie pętla foreach ładnie wybiera wskazane wiersze, lecz usuwane są wszystkie poza jednym - nie wiem dlaczego... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zobacz jakie zapytanie do bazy generuje Ci PHP, wyświetl je i sprawdź, czy wszystie id się zgadzają z tymi, które posiadasz w bazie danych.
Możliwe, że gdzieś masz podane złe id i dlatego Ci go nie chwyta. -------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Zobacz jakie zapytanie do bazy generuje Ci PHP, wyświetl je i sprawdź, czy wszystie id się zgadzają z tymi, które posiadasz w bazie danych. Możliwe, że gdzieś masz podane złe id i dlatego Ci go nie chwyta. OK - podmieniłem funkcję zamieniającą tablicę na string na implode i teraz usuwanie rekordów ładnie działa. Nie mogę sobie poradzić w dalszym ciągu z wybraniem z bazy poszczególnych ścieżek do plików, które później usunę unlink'iem.
w wyniku dostaję: /volume1/web/Joomla_1.5/modules/mod_zbiorczy_pdf/tmp/zwykle_1_strona/Resource id #18 /volume1/web/Joomla_1.5/modules/mod_zbiorczy_pdf/tmp/zwykle_1_strona/Resource id #19 /volume1/web/Joomla_1.5/modules/mod_zbiorczy_pdf/tmp/zwykle_1_strona/Resource id #20 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Masz:
-------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Masz:
No i problem rozwiązany - poniżej sprawdzony, działający kod:
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 09:51 |