Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Kasowanie zdjec z serwera, Kasowanie zdjec z serwera
-pan_plotek-
post
Post #1





Goście







Witam mam problem z usunięciem zdjęcia z serwera. Skrypt działa usuwa mi dane z bazy, ale jednak nie chce mi zadziałać opcja unlink która dodałem poniżej. Skrypt polega na zaznaczeniu jakiegoś zdjęcia z tabeli i na usuneciu. Prosze o pomoc. smile.gif


  1. ...
  2. $zdjecie = $_GET['zdjecie'];
  3. $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  4. if (isset($_POST['submit'])) {
  5. foreach ($_POST['usun'] as $usun) {
  6. $query = "DELETE FROM galeria WHERE id = $usun LIMIT 1";
  7. @unlink(GW_UPLOADPATH . $zdjecie);
  8. mysqli_query($dbc, $query)
  9. or die('Błąd w zapytaniu do bazy danych.');
  10. }
  11. echo '<div id="potwierdzenie">';
  12. echo 'Usunieto zdjecie';
  13. echo '</div>';
  14. }
  15. $query = "SELECT * FROM galeria";
  16. $wynik = mysqli_query($dbc, $query);
  17. echo '<table border=1>';
  18. echo '<tr><th>id</th><th>Zdjecie</th><th>Dodał:</th><th>Data</th></tr>';
  19. while ($row = mysqli_fetch_array($wynik)) {
  20. echo '<td><strong><input type="checkbox" value="' . $row['id'] . '" name="usun[]"</strong></td>';
  21. echo '<td><img src="' . GW_UPLOADPATH . $row['zdjecie'] . '" alt="zdjecie" . "width=150px" /></td> ' ;
  22. echo '<td><strong>' . $row['imie_nazwisko'] . '</strong></td>';
  23. echo '<td>' . $row['data'] . '</td>';
  24.  
  25. echo '</td></tr>';
  26. }
  27. echo '</table>';
  28.  
  29. mysqli_close($dbc);
  30. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
CuteOne
post
Post #2





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

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


1. Sprawdź czy ścieżka do pliku jest poprawna:
  1. file_exists(GW_UPLOADPATH . $zdjecie) ? die('poprawna') : die('nie poprawna');


2. Sprawdź chmode folderów w których przechowujesz grafikę - powinny być ustawione na 777
Go to the top of the page
+Quote Post
-pan_plotek-
post
Post #3





Goście







chmod ustawiony na serwerze na 777 i sciezke rowniez pokazuje poprawną. Jakies inne sugestie winksmiley.jpg
Go to the top of the page
+Quote Post
emajl22
post
Post #4





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

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


A rozszerzenie pliku jest? Bo nie wiem jaką co trzymasz w $_GET.

Ten post edytował emajl22 5.01.2011, 12:39:32


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





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Włącz wyswietlanie wszystkich bledów. Tu masz napisane jak:
Temat: Jak poprawnie zada pytanie

2) Wywal małpę @ przy unlink.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
-pan_plotek-
post
Post #6





Goście







Notice: Undefined index: zdjecie in /www/asd_www/www/kasuj_zdjecie.php on line 81

chodzi o tą linijke : $zdjecie = $_GET['zdjecie'];

nic nie trzymam w zmiennej $zdjecie, troche glupi blad. Moze ktos doradzic jak powinno wygladac to poprawnie smile.gif
Go to the top of the page
+Quote Post
emajl22
post
Post #7





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

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


Raczej chodziło mi o to co przekazujesz w adresie, np. index.php?akcja=kasuj&zdjecie=co_tu_jest...

Poza tym usuń tą małpkę przed unlink.

Ten post edytował emajl22 5.01.2011, 13:45:56


--------------------
Go to the top of the page
+Quote Post
-pan_plotek-
post
Post #8





Goście







Nie za bardzo rozumiem pytania, moglbys bardziej wyjasnic albo powiedziec jak to sprawdzic. Sorka ale dopiero sie ucze winksmiley.jpg
Go to the top of the page
+Quote Post
emajl22
post
Post #9





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

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


Zaraz pod $zdjecie = $_GET['zdjecie']; daj: echo $zdjecie; i sprawdź czy coś się wyświetli.


--------------------
Go to the top of the page
+Quote Post
-pan_plotek-
post
Post #10





Goście







nic sie nie wyswietla.
Go to the top of the page
+Quote Post
emajl22
post
Post #11





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

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


No to nic dziwnego, że nie kasuje zdjęć... pokaż może cały kod.


--------------------
Go to the top of the page
+Quote Post
-pan_plotek-
post
Post #12





Goście







To jest caly kod odpowiadajacy za usuwanie zdjec.


  1. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  2. <?php
  3. require_once('rozmiar_pliku.php');
  4. require_once('bazadanych.php');
  5. $zdjecie = $_GET['zdjecie'];
  6. $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  7. if (isset($_POST['submit'])) {
  8. foreach ($_POST['usun'] as $usun) {
  9. $query = "DELETE FROM galeria WHERE id = $usun";
  10. unlink(GW_UPLOADPATH . $zdjecie);
  11. mysqli_query($dbc, $query)
  12. or die('Błąd w zapytaniu do bazy danych.');
  13. }
  14. echo '<div id="potwierdzenie">';
  15. echo 'Usunieto zdjecie';
  16. echo '</div>';
  17. }
  18. $query = "SELECT * FROM galeria";
  19. $wynik = mysqli_query($dbc, $query);
  20. echo '<table border=1>';
  21. echo '<tr><th>id</th><th>Zdjecie</th><th>Dodał:</th><th>Data</th></tr>';
  22. while ($row = mysqli_fetch_array($wynik)) {
  23. echo '<td><strong><input type="checkbox" value="' . $row['id'] . '" name="usun[]"</strong></td>';
  24. echo '<td><img src="' . GW_UPLOADPATH . $row['zdjecie'] . '" alt="zdjecie" . "width=150px" /></td> ' ;
  25. echo '<td><strong>' . $row['imie_nazwisko'] . '</strong></td>';
  26. echo '<td>' . $row['data'] . '</td>';
  27. echo '</td></tr>';
  28. }
  29. echo '</table>';
  30.  
  31. mysqli_close($dbc);
  32. ?>
  33. <input type="submit" name="submit" value="Usuń" />
Go to the top of the page
+Quote Post
CuteOne
post
Post #13





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

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


  1.  
  2. foreach ($_POST['usun'] as $usun) {
  3.  
  4.  
  5. $select = mysqli_query($dbc, "SELECT image_name FROM galeria WHERE id = {$usun}");
  6. $row = mysqli_fetch_array($select);
  7.  
  8.  
  9. $query = "DELETE FROM galeria WHERE id = $usun";
  10. unlink(GW_UPLOADPATH . $row['image_name']);
  11. mysqli_query($dbc, $query) or die('Błąd w zapytaniu do bazy danych.');
  12. }


w bazie musisz mieć zapisaną nazwę pliku np. zdjecie.jpg w kolumnie image_name

Ten post edytował CuteOne 5.01.2011, 21:37:57
Go to the top of the page
+Quote Post
-pan_plotek-
post
Post #14





Goście







Wszystko działa! dziekuje za pomoc winksmiley.jpg
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 Aktualny czas: 20.08.2025 - 06:42