Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> unlink, jak przypisac unlink do linku?
andixxx
post 18.08.2006, 22:44:04
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 19.08.2006, 00:41:41
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 winksmiley.jpg


--------------------
Grupa programistyczna (EvilTeam)
Hotele w Polsce TwojHotel.info
Go to the top of the page
+Quote Post
andixxx
post 19.08.2006, 02:42:06
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 19.08.2006, 08:02:03
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 19.08.2006, 09:00:37
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 winksmiley.jpg

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


--------------------
Grupa programistyczna (EvilTeam)
Hotele w Polsce TwojHotel.info
Go to the top of the page
+Quote Post
-Gość-
post 19.08.2006, 14:03:18
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 19.08.2006, 14:29:04
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 19.08.2006, 16:16:42
Post #8





Goście







heh teraz widze party.gif
Go to the top of the page
+Quote Post
andixxx
post 19.08.2006, 16:30:04
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 19.08.2006, 16:41:04
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


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
andixxx
post 19.08.2006, 16:55:25
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 19.08.2006, 17:02:05
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. 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


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
andixxx
post 19.08.2006, 17:07:56
Post #13





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

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


plik jestna 100% 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 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 19.08.2006, 17:14:22
Post #14





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




Ehh.,. laugh.gif
Permission denied == Brak dostepu

Zmień uprawnienia dla katalogu na 666 lub 777

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
andixxx
post 19.08.2006, 17:16:04
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 19.08.2006, 17:17:07
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 smile.gif

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
andixxx
post 19.08.2006, 17:18:55
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 snitch.gif
Go to the top of the page
+Quote Post
Cysiaczek
post 19.08.2006, 17:21:01
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. smile.gif
Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
andixxx
post 19.08.2006, 17:23:00
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 smile.gif dzieki smile.gif
Go to the top of the page
+Quote Post
michu9010
post 30.12.2009, 23:18:47
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 19:14