Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> unlink, jak przypisac unlink do linku?
andixxx
post
Post #1





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


w jaki sposob mozna usunac plik z serwera poprzez klikniecie w link? tzn w jaki sposob mozna przypisac unlink(nazwapliku.jpg); do <a href="... ? mozna tak wogole zrobic ?

Ten post edytował andixxx 18.08.2006, 22:48:30
Go to the top of the page
+Quote Post
elem84
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.07.2005

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


No jakkoś ne bardzo da sie tak zrobić, conajwyżej możesz zrobić to w ten sposób że link ma składnie:

  1. <a href="usun.php?plik=nazwaPliku">Link</a>


zaś w pliku usun.php:

  1. <?php
  2. if($_GET['nazwaPliku']) @unlink($_GET['nazwaPliku']);
  3. ?>


Możesz dodać jakieś sprawdzanie jeszcze czy plik wogóle istnieje ale ogólnie nie polecam tej metody gdyż ktoś sprytniejszy może pokasować Ci pliki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
andixxx
post
Post #3





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


a mozna to jakos zrobic, aby wszystko bylo w jednym pliku a nie w dwoch?
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #4





Goście







  1. <?php
  2. if (!isset ($_GET['action'])
  3. {
  4. echo '<a href="usunplik.php?action=usun&nazwapliku=costam">Usuń ten plik</a>';
  5. }
  6. elseif ($_GET['action'] == 'usun')
  7. {
  8. unlink ($_GET['nazwapliku']);
  9. echo 'Usunięto!';
  10. }
  11. ?>


LUB:

  1. <?php
  2. if (!isset ($_GET['nazwapliku'])
  3. {
  4. echo '<a href="usunplik.php?nazwapliku=costam">Usuń ten plik</a>';
  5. }
  6. else
  7. {
  8. unlink ($_GET['nazwapliku']);
  9. echo 'Usunięto!';
  10. }
  11. ?>


Ten post edytował Wieviór 19.08.2006, 08:03:12
Go to the top of the page
+Quote Post
elem84
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.07.2005

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


Jeszcze możesz dorzucić tłumienie błędów jeśli by podanego pliku nie było (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. @unlink ($_GET['nazwapliku']);
  3. ?>
Go to the top of the page
+Quote Post
-Gość-
post
Post #6





Goście







  1. <?php
  2. if (!isset ($_GET['nazwapliku'])
  3. {
  4. echo '<a href="usunplik.php?nazwapliku=costam">Usuń ten plik</a>';
  5. }
  6. else
  7. {
  8. unlink ($_GET['nazwapliku']);
  9. echo 'Usunięto!';
  10. }
  11. ?>


dlaczego tutaj, w 3 linijce pokazuje blad?
Parse error: parse error, unexpected '{' in /blebleble/usunplik.php on line 3
Go to the top of the page
+Quote Post
WereWolf
post
Post #7





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 21.05.2005

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


Cytat
dlaczego tutaj, w 3 linijce pokazuje blad?
Parse error: parse error, unexpected '{' in /blebleble/usunplik.php on line 3

bo nie masz zamkniętego nawiastu przy warunku dla if, powinno być:

  1. <?php
  2. if (!isset ($_GET['nazwapliku']))
  3. {
  4. echo '<a href="usunplik.php?nazwapliku=costam">Usuń ten plik</a>';
  5. }
  6. else
  7. (...)
  8. ?>
Go to the top of the page
+Quote Post
-Gość-
post
Post #8





Goście







heh teraz widze (IMG:http://forum.php.pl/style_emoticons/default/party.gif)
Go to the top of the page
+Quote Post
andixxx
post
Post #9





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


heh kurcze nie moge rozkminic... gdzie musze wpisac nazwe pliku do usuniecia? ;/ bo gdzie jejnie podam to mi wywala blad;/ albo pisze ze plik zostal usuniety, a na serwerze dalej jest!
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #10





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Sprawdź ścieżkę do tego pliku i tom czy podajesz pełną nazwę pliku z rozszerzeniem. Skrypt, który Ci podali ma ta wadę, że nie sprawdza, czy taki plik istnieje.
Dla przykładu:
  1. <?php
  2. echo '<a href="usunplik.php?nazwapliku=costam.txt">Usuń ten plik</a>'; //tu dodałem rozszerzenie
  3. ?>

Teraz jeśli taki plik istnieje w tym samym katalogu, co twój skrypt php, to zostanie usunięty. Jełśi jest gdzieś indziej, to:

  1. <?php
  2. unlink ('katalog/'.$_GET['nazwapliku']);
  3. ?>


Teraz zadziała, a sprawdzenie, czy plik istnieje zostawiam Tobie:
http://pl2.php.net/manual/pl/ref.filesystem.php <-- tu info
Go to the top of the page
+Quote Post
andixxx
post
Post #11





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


plik istnieje na 100% .. nazywa sie on skrypt.txt i jest on w katalogu glownym (w roocie) serwera, tak samo jak plik ze skryptem (usunplik.php)...
gdy odpalam plik usunplik.php pokazuje sie link do usuniecia pliku, klikam go i wyskakuje
Cytat
Warning: unlink(skrypt.txt): No such file or directory in /blebleble.../usunplik.php on line 8
Usunięto!

gdy dam aby wytlumilo bledy.. pokazuje sie sam napis "usunieto!" .. a plik dalej siedzi na serwerze ..

  1. <?php
  2. if (!isset ($_GET['nazwapliku']))
  3. {
  4. echo '<a href="usunplik.php?nazwapliku=skrypt.txt">Usuń ten plik</a>';
  5. }
  6. else
  7. {
  8. unlink ($_GET['nazwapliku']);
  9. echo 'Usunięto!';
  10. }
  11. ?>
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #12





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Powiem tak: W tym wypadku zaufam zdrowemu rozsądkowi i zaufam php, a nie Tobie. (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
Tego pliku nie ma tam, gdzie go usuwasz.

Świadczy o tym ta oto linijka, z której zresztą usunąłeś najbardziej ciekawą część :/
Cytat
Warning: unlink(skrypt.txt): No such file or directory in /blebleble.../usunplik.php on line 8


Żeby jednak było w 100% poprawne zrozszerzenie przesuń do funkcji usuwającej:
  1. <?php
  2. unlink ($_GET['nazwapliku'].'.txt');
  3. ?>


i usun rozszerzenie z URL'a

Sprawdź jeszcze raz, czy ścieżka jest poprawna.

Pozdrawiam
Go to the top of the page
+Quote Post
andixxx
post
Post #13





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


plik jestna 100% (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
.. a kod jest wyzej napisany:P

Cytat
Warning: unlink(skrypt.txt): Permission denied in /home/users/rozek_andi/www/usunplik.php on line 8
Usunięto!
taki dokladnie komunikat dostaje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

a gdy zrobilem, tak jak napisales przed chwila.. to nic sie nie stalo.. wyskakuje dokladnie to samo

Ten post edytował andixxx 19.08.2006, 18:02:15
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #14





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Ehh.,. (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
Permission denied == Brak dostepu

Zmień uprawnienia dla katalogu na 666 lub 777

Pozdrawiam.
Go to the top of the page
+Quote Post
andixxx
post
Post #15





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


oba pliki maja ustawione chmoody na 777
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #16





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




A katalog, w którym sie znajdują? Jemu przydziel 777 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam.
Go to the top of the page
+Quote Post
andixxx
post
Post #17





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


oba pliki sa w katalogu glownym serwera.. tzn w roocie (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #18





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




No i co z tego? Jak nie ma uprawnień do zapisu w katalogu, to pliku tez nie usuniesz. Przeerzuć sobie te pliki do innego katalogu, jemu daj 777 i tyle. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pozdrawiam.
Go to the top of the page
+Quote Post
andixxx
post
Post #19





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


o wzucilem je do jakiegos katalogu i teraz dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dzieki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
michu9010
post
Post #20





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 2.11.2007
Skąd: Włocławek

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


ja tez mam problem z unlinkiem ;/;/

o to kod
  1. <?php
  2. require('connect.php');
  3.  
  4.  
  5. $short_title = trim($_POST['short_title']);
  6. $gdzie = 'photo/';
  7. $data_img = trim($_POST['data_img']);
  8. $opis = trim($_POST['opis']);
  9. $file_name = trim($_GET['file_name']);
  10.  
  11. $a = trim($_GET['a']);
  12. $id = trim($_GET['id']);
  13.  
  14. if($a == 'del' and !empty($id)) {
  15.  
  16. /* usuwamy rekord */
  17. unlink('photo/'.$r['file_name']); /*file_name to nazwa kolumny w bazie danych znajduje sie tam nazwa pliku */
  18. mysql_query("DELETE FROM phones WHERE id='$id'")
  19. or die('Błąd zapytania: '.mysql_error());
  20. echo 'Wpis został usunęty z bazy';
  21. }
  22. else {
  23. echo "Brak wpisu o takim ID";
  24. }
  25. ?>


napierw powiniem usunac plik z serwera a potem wpis w bazie ale wywala blad ;/;/

Kod
[b]Warning[/b]:  unlink(photo/) [[url="http://michu.esnet.pl/function.unlink"]function.unlink[/url]]: Is a directory in [b]/home/vmail/esnet.pl/michu/public_html/admin/photo/del.php[/b] on line [b]17
[/b]
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: 22.08.2025 - 19:27