Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Usuwanie plikó przy pomocy php
viamarimar
post
Post #1





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

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


Wiem, że forum to nie zaden kompilator ani nic, ale co tu jest nie tak? Kod wykonał sie x razy (nascie) i nagle przestal. Nic nie zmienialem. Zadnych sesji, headerow i tak dalej. Gdy czyszcze folder upload i baze wykonuje sie znow kilka razy i znow pauza? O co tu chodzi?
  1. if(isset($_GET['s']) && $_GET['s']=='pliki' && isset($_GET['a']) && $_GET['a']=='usun' && isset($_GET['id'])){
  2. $id=$_GET['id'];
  3.  
  4. $zap3=mysql_query("SELECT * FROM pliki ") or die(mysql_error());
  5. $wiersz=mysql_fetch_array($zap3);
  6. $katalog = "./upload/";
  7. if (file_exists($katalog.$wiersz['kodowanazwa'])){
  8. unlink($katalog.$wiersz['kodowanazwa']);
  9. $zap2 = ("DELETE FROM pliki WHERE id='$id'") or die(mysql_error());
  10. $result=mysql_query($zap2);
  11. header("location: mod.php?mk=usunp");
  12.  
  13. }
  14. }


Sciezka dziala tylko po x razach nie przekierowuje juz na komunikat tylko stoi tak jakby bez zadnego bledu

http://localhost/zaliczenie/mod.php?s=plik...=usun&id=66 - wiec jest ok

Teraz sprawdzam czyms takim


  1. if (file_exists($sciezka)){
  2. if ($wiersz['kodowanazwa'] != "." && $wiersz['kodowanazwa'] != "..") {
  3. // #unlink($katalog.$wiersz['kodowanazwa']);
  4.  
  5. echo ' plik jest';
  6. }
  7. }
  8. else {
  9. echo ' nie ma ';
  10. }


Bo mysle ze to chodzi o te glupie kropki

to zwraca nie ma?! jak skoro dzialalo?
mozliwe ze dzialalo n 1-2-3 plikach a potem kropki sie skonczyly i koniec? Jak to poprawic?

$wiersz['kodowanazwa'] - trzyma nazwe pliku
katalog upload - trzyma pliki

Ten post edytował viamarimar 13.12.2014, 01:05:19
Go to the top of the page
+Quote Post
KsaR
post
Post #2





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


file_exists(); cache'uje wynik działania.
Używaj clearstatcache(); do czyszczenia tego cache.

Poza tym:
  1. $zap2 = ("DELETE FROM pliki WHERE id='$id'") or die(mysql_error());
  2. $result=mysql_query($zap2);

[...].
Go to the top of the page
+Quote Post
viamarimar
post
Post #3





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

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


co z tym nie tak? nie rozumiem?
//uzycie clearstatcache(); nic nie zmienilo

// kawalek ktory wskazales ma kasowac informacje o pliku z bazy, co w nim nie tak

  1. $filename = $katalog.$wiersz['kodowanazwa'];
  2. if (file_exists($filename)) {
  3. unlink($filename);
  4. echo "The file $filename exists";
  5. $zap2 = ("DELETE FROM pliki WHERE id='$id'") or die(mysql_error());
  6. $result=mysql_query($zap2);
  7. header("location: mod.php?mk=usunp");
  8. } else {
  9. echo "The file $filename does not exist";
  10. }


ale cos z tym odswiezaniem jest baza nie nadaza za katalogiem i potem pisze ze pliku juz nie ma, dobrze dalem to odswiezanie?

Ten post edytował viamarimar 13.12.2014, 02:20:54
Go to the top of the page
+Quote Post
KsaR
post
Post #4





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(viamarimar @ 13.12.2014, 01:56:50 ) *
co z tym nie tak? nie rozumiem?
//uzycie clearstatcache(); nic nie zmienilo

// kawalek ktory wskazales ma kasowac informacje o pliku z bazy, co w nim nie tak

Być może to ja czegoś nie rozumiem ale ja widze ten kawałek tak:
$zm = ("") or...
Go to the top of the page
+Quote Post
viamarimar
post
Post #5





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

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


Serio nie wiem o co ci chodzi ;< jakies nawiazanie do sql injection?
Go to the top of the page
+Quote Post
fate
post
Post #6





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


Zła kolejność, najpierw usuwaj z bazy a potem unlink i nie musisz uzywac tu
clearstatcache();
swoja droga masz to wstawione bez sensu
Go to the top of the page
+Quote Post
viamarimar
post
Post #7





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

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


Tzn jak powinno byc? I ze co jest bezsensu?(pomijajac kolejnosc) tego clear ma nie byc wcale?
Go to the top of the page
+Quote Post
fate
post
Post #8





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


  1. $filename = $katalog.$wiersz['kodowanazwa'];
  2. if (file_exists($filename)) {
  3. $zap2 = ("DELETE FROM pliki WHERE id='$id'") or die(mysql_error());
  4. $result=mysql_query($zap2);
  5. unlink($filename);
  6. echo "The file $filename exists";
  7. header("location: mod.php?mk=usunp");
  8. } else {
  9. echo "The file $filename does not exist";
  10. }

za rączkę.. (IMG:style_emoticons/default/dostal.gif)
Go to the top of the page
+Quote Post
viamarimar
post
Post #9





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

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


za drugim razem plik juz z bazy sie nie skaskowal i jest blad.. wiem jak odwrocic kolejnosc jesli by tylko o to chodzilo ;(
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: 26.08.2025 - 17:27