Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Kasowanie plików
lukasz.sekula
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 8.03.2007
Skąd: Nysa

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


Witam,

uploaduje sobie plik i zmieniam jego nazwe (wszystko działa).
Następnie chcę skasować ten plik takim skrypcikiem:

  1. <?php
  2. if (isset($_POST['submit']) && $_POST['submit']=="Tak") {
  3. $plik="/upload/".$_SESSION['foto'];
  4. chmod($plik,0777);
  5. unlink($plik) or die ("nie kasuje");
  6. }
  7. ?>


dodałem chmod aby zmienić już jego uprawnienia ponieważ po uploadzie dostaje automatycznie 600, czyli rw dla właściciela.
uprawnienia dla folderu upload to 777 czyli pełny dostęp (dlatego też upload działa)

jakieś propozycje?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
sniezny_wilk
post
Post #2





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Możliwe, że przechowujesz nazwę pliku przed zmianą a nie po zmianie i odwołujesz się do starej nazwy, wyświetlaj to co trzyma zmienna sessyjna i pokaż może trochę więcej kodu.


--------------------
Go to the top of the page
+Quote Post
lukasz.sekula
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 8.03.2007
Skąd: Nysa

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


nazwa pliku zgadza się na 1000% ponieważ po małej zmianie dostaję nie kauje 1.png a tak właśnie się nazywa plik

oto pełny kod (ale to jest już tzw. pytane o to czy na pewno usunąć.

  1. <?php
  2. include "auth_user.inc.php";
  3. include "conn.inc.php";
  4.  
  5. if (isset($_POST['submit']) && $_POST['submit']=="Tak") {
  6. $plik="/upload/".$_SESSION['foto'];
  7. chmod($plik,0777);
  8. unlink($plik) or die ("nie kasuje ".$_SESSION['foto']);
  9. } else {
  10. ?>
  11. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  12. <html xmlns="http://www.w3.org/1999/xhtml">
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  15. <title>Mega Partners</title>
  16. </head>
  17.  
  18. <body>
  19. <p><b>Czy na pewno chcesz usunąć zdjęcie?</b></p>
  20. <form action="remove_foto.php" method="post">
  21. <input type="submit" name="submit" value="Tak" />&nbsp;&nbsp;
  22. <input type="button" value="Nie" onclick="hostory.go(-1);" />
  23. </form>
  24. <?php
  25. }
  26. ?>
  27. </body>
  28. </html>
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #4





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


zrób dla pewności przed kasowaniem file_exists" title="Zobacz w manualu PHP" target="_manual i zobacz co zwraca..


--------------------
Go to the top of the page
+Quote Post
lukasz.sekula
post
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 8.03.2007
Skąd: Nysa

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


  1. <?php
  2. include "auth_user.inc.php";
  3. include "conn.inc.php";
  4.  
  5. if (isset($_POST['submit']) && $_POST['submit']=="Tak") {
  6. $plik=$_SESSION['foto'];
  7. opendir("upload");
  8. if (file_exists($plik)) {
  9. echo "istnieje ".$plik." ";
  10. } else {
  11. echo "nie istnieje ".$plik." ";
  12. }
  13. chmod($plik,0777);
  14. unlink($plik) or die ("nie kasuje ".$_SESSION['foto']);
  15.  
  16. $query_update="UPDATE uzytkownicy SET foto='' WHERE email='".$_SESSION['user_logged']."' AND haslo=(PASSWORD('".$_SESSION['user_password']."'))";
  17. $result_update=mysql_query($query_update) or die(mysql_error());
  18. header("Refresh: 3; URL=user_personal.php");
  19. echo "<p>Plik został usunięty!<br /><br />Przekierowanie za 5 sekund... Jeśli Twoja przeglądarka nie obsługuje przekier
    owań <a href=\"user_personal.php\">kliknij tutaj</a>.
  20.  ........
  21.  ........
  22.  ........//dalsza część jw.
  23. ?>


wynik na ekranie to: nie istnieje /upload/1.png nie kasuje 1.png

a moim zdaniem powinien być: nie istnieje /upload/1.png nie kasuje /upload/1.png
z drugiej strony skoro funckja unlink dostaje nazwe pliku 1.png powinna go skasować... chociaż skąd ma znać scieżke? smile.gif

wiec później spóbowałem inaczej przez funckję opendir() itp z reszta widzicie sami smile.gif
zrobiłem nieco zmian ale nadal nie smiga :/

nie mam pomysłu jak to poprawić, jakaś propozycja?
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #6





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Czyli już wiesz co jest nie tak ze ścieżką.. nie dawaj tego opendir.. tylko popatrz czy masz dobrą ścieżkę.. może bez tego / na początku ? Podaj jak możesz strukturę katalogów na serwerze.

Ten post edytował sniezny_wilk 6.05.2008, 19:41:40


--------------------
Go to the top of the page
+Quote Post
phpion
post
Post #7





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Spróbuj w ten sposób. Zmień:
  1. <?php
  2. $plik=$_SESSION['foto'];
  3. ?>

na:
  1. <?php
  2. $plik='./upload/'.$_SESSION['foto'];
  3. ?>

Resztę zostaw jak jest.

Ten post edytował phpion 6.05.2008, 19:46:16
Go to the top of the page
+Quote Post
lukasz.sekula
post
Post #8





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 8.03.2007
Skąd: Nysa

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


dzięki wielkie smile.gif pomogło... i wywyaliłem opendir smile.gif

Ten post edytował lukasz.sekula 6.05.2008, 21:03:01
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 - 05:12