Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP]Usuwanie pliku z serwera
viamarimar
post 20.11.2014, 15:16:22
Post #1





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

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


Co tu jest nie tak? Korzystam z roznych dostepnych zrodel pomocy itp zeby usunac plik z serwera i zawsze wyrzuca jakis blad

  1. $wynik["kodowanazwa"] //przechowuje nazwe pliku
  2. $wynik["sciezka"] //przechowuje sciezke


poki co wykomentowalem kasowanie z bazy bo chce zrobic kasowanie z dysku, no chyba ze chodzi o to ze takie cos nie dziala na dysku lokalnym (localhost)?!

  1. elseif(isset($_GET['pliki']) && $_GET['pliki']=='usun' && isset($_GET['id']))
  2. {
  3. $id=$_GET['id'];
  4.  
  5. /* mysql_query("DELETE FROM pliki WHERE id='$id'");
  6.   echo 'Pomyślnie usunołeś newsa numer '.$id.'!';
  7. header('Location: index.php') */;
  8.  
  9. $zapytanie = mysql_query ("SELECT * FROM pliki");
  10. if ($zapytanie) {
  11. while ($wynik = mysql_fetch_array($zapytanie)) {
  12. $file = $wynik["kodowanazwa"];
  13. if (!unlink($file))
  14. {
  15. echo ("Error deleting $file");
  16. }
  17. else
  18. {
  19. echo ("Deleted $file");
  20. }
  21. }
  22.  
  23. }


Blad:

  1. Warning: unlink() [<a href='function.unlink'>function.unlink</a>]: Invalid argument in..


Ten post edytował viamarimar 20.11.2014, 15:16:46
Go to the top of the page
+Quote Post
johny_s
post 20.11.2014, 15:21:26
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


  1. var_dump($file);

i sprawdź co masz w srodku
Go to the top of the page
+Quote Post
viamarimar
post 20.11.2014, 15:25:50
Post #3





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

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


Dopisalem:
  1. $zapytanie = mysql_query ("SELECT * FROM pliki WHERE id='$id'");


i zwraca:

  1. string '39db93b013b5e8e68e41787a02d3d2d1.exe' (length=36)


ale nadal nie dziala i blad jest ten sam

  1. elseif(isset($_GET['pliki']) && $_GET['pliki']=='usun' && isset($_GET['id']))
  2. {
  3. $id=$_GET['id'];
  4.  
  5. /* mysql_query("DELETE FROM pliki WHERE id='$id'");
  6.   echo 'Pomyślnie usunołeś newsa numer '.$id.'!';
  7. header('Location: index.php') */;
  8.  
  9. $zapytanie = mysql_query ("SELECT * FROM pliki WHERE id='$id'");
  10. if ($zapytanie) {
  11. while ($wynik = mysql_fetch_array($zapytanie,MYSQL_ASSOC)) {
  12. $file = $wynik["kodowanazwa"];
  13. echo "<hr>";
  14. echo $wynik["kodowanazwa"];
  15. echo $file;
  16. var_dump($file);
  17.  
  18. if (!unlink($file))
  19. {
  20. echo ("Error deleting $file");
  21. }
  22. else
  23. {
  24. echo ("Deleted $file");
  25. unlink($file);
  26. }
  27. }
  28.  
  29. }


39db93b013b5e8e68e41787a02d3d2d1.exe - to cos to nazwa pliku tylko przekodowana przez md5 ale to chyba male znaczenie ma

Ten post edytował viamarimar 20.11.2014, 15:50:41
Go to the top of the page
+Quote Post
johny_s
post 20.11.2014, 16:28:02
Post #4





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


No chłopie masz 2x unlinka, więc jak raz go skasujesz to 2 raz już się nie da, tyle że to by wyświetlało że plik nie istnieje, przy invalid argument musisz mieć tam coś nistringowego przekazywanego do funkcji, tablica, bool czy jakiś obiekt
Go to the top of the page
+Quote Post
viamarimar
post 20.11.2014, 18:19:46
Post #5





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

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


nie rozumiem. raz sprawdzam drugi kasuje, co jest nie tak?

z jednym unlinkiem tez nie dziala

  1. elseif(isset($_GET['pliki']) && $_GET['pliki']=='usun' && isset($_GET['id']))
  2. {
  3. $id=$_GET['id'];
  4.  
  5. /* mysql_query("DELETE FROM pliki WHERE id='$id'");
  6.   echo 'Pomyślnie usunołeś newsa numer '.$id.'!';
  7. header('Location: index.php') */;
  8.  
  9. $zapytanie = mysql_query ("SELECT * FROM pliki WHERE id='$id'");
  10. if ($zapytanie) {
  11. while ($wynik = mysql_fetch_array($zapytanie,MYSQL_ASSOC)) {
  12. $file = $wynik["kodowanazwa"];
  13.  
  14. if (file_exists($file)) {
  15. unlink($file);
  16. }
  17.  
  18. }
  19.  
  20. }
  21.  
  22. }



Ten post edytował viamarimar 20.11.2014, 18:45:07
Go to the top of the page
+Quote Post
nospor
post 20.11.2014, 18:29:53
Post #6





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




Cytat
nie rozumiem. raz sprawdzam drugi kasuje,

To przetlumacze ci na polski co wczesniej napisales:

Jesli skasowalem to skasuj.

Juz jaśniej?

Cytat
z jednym unlinkiem tez nie dziala
Dalej ten sam blad czy moze juz inny? Jesli masz jakikolwiek blad, to wklej go DOKLADNIE


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

"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
viamarimar
post 20.11.2014, 18:39:48
Post #7





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

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


Nie ma zadnego komunikatu poprostu plik sie nie wykonuje w tej chwili.

czy jest jedna komenda na kasowanie jest unlink? Wyczytalem o czyms takim jak destroy ale nie wiem czy to nie dziala w noszych wersjach PHP tylko



Jesli ifa przerobie tak:

  1. if (!unlink($file)){
  2. echo ("Error deleting $file");
  3. }
  4. else{
  5. echo ("Deleted $file");
  6. }


To rzuca blad:
  1. Warning: unlink(030bf663571fcd7118c8c139fc1f1afd.csv) [<a href='function.unlink'>function.unlink</a>]: No such file or directory in C:\VertrigoServ\www\szablon\mod.php on line 165


Ten post edytował viamarimar 20.11.2014, 18:45:32
Go to the top of the page
+Quote Post
trueblue
post 20.11.2014, 18:45:00
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Plik jest w tym samym katalogu co skrypt? W pierwszym poście podałeś zmienną $wynik["sciezka"], której nigdzie nie używasz.


--------------------
Go to the top of the page
+Quote Post
nospor
post 20.11.2014, 18:47:07
Post #9





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




Cytat
No such file or directory
Kurcze... przeciez wyraźnie napisali.... :/ Nie ma pliku. ALbo go nie masz faktycznie, albo jest w innym katalogu niz myslisz


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

"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
viamarimar
post 20.11.2014, 19:05:12
Post #10





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

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


plik jest w katalogu upload
skrypt jest katalog wyzej

nie korzystam ze sciezki poniewaz funkcja unlink korzysta z nazwy pliku a nie ze sciezki chyba?

Ten post edytował viamarimar 20.11.2014, 19:05:59
Go to the top of the page
+Quote Post
johny_s
post 20.11.2014, 19:07:44
Post #11





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


Cytat(viamarimar @ 20.11.2014, 19:05:12 ) *
nie korzystam ze sciezki poniewaz funkcja unlink korzysta z nazwy pliku a nie ze sciezki chyba?

jak byś się pofatygował i poczytał manuala

Kod
filename

    Path to the file.


Ten post edytował johny_s 20.11.2014, 19:07:55
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 Wersja Lo-Fi Aktualny czas: 25.07.2025 - 01:54