Autor Zpráva
Radek9
Profil
Zdravím. Chtěl bych se zeptat jak by měl vypadat PHP skript "unlink" a jak třeba pomocí odkazu nebo nějakého klikátka dotyčný soubor smazat.
Jan Tvrdík
Profil
odkaz na dokumentaci

Příklad použití:
unlink('soubor.php');

Co na tomto nechápeš?
Radek9
Profil
Já vim, ale na PHP jsem lama. Já nevím kam to mám zadat.
Jako takhle?
<?php
  unlink('soubor.php');
?>

Pokud ano tak kam
Hitman
Profil
Radek9
Ano, přesně tak, nevím přesně k čemu tato funkce slouží, ale nejlépe to vlož někam do kódu. Když nám jej ukážeš, možná ti někdo poradí.
Radek9
Profil
No mam skript, ktery pomoci php vytvori soubor s priponou ".inc" a v nem obsah, ktery predtim jeste napisu. Proste takovy jednoduchy RS. Zatim sem vsechno mazal pres FTP, ale chtel bych to mazat pres PHP. Na mazani polozek z menu mam skript, ale na smazani samotneho souboru neco potrebuju a nevim jak to sprovoznit.
Radek9
Profil
No a já potřebuju aby to bylo jako odkaz:
<a href="unlink(soubor.php)">smazat</a>
Ale to nefunguje :D
Majkl578
Profil
Radek9
v jednom tematu mluvis o svem cms a ted nevis takovou banalitu? tady nas asi nekdo pekne taha za nos, nehlede na to, ze spamuje a neumi editovat prispevky.
precti si neco o php a o html, zjistis rozdily. pak se zamer na metodu GET a jeji pouziti v praxi. kdyz to das do kupy, zjistis, ze musis odkazat na nejaky php soubor, ktery script (operaci se souborem) nasledne provede.
Radek9
Profil
To vim. Takhle blbej nejsem. Proste jsem si udělal "jednoduchej" RS na přidávání stránek a začlenění do menu, ale nevěděl jsem jak smazat soubor. Teď už to vím, ale chtěl bych poradit s nějakým skriptem, kterej by se pomocí nějakýho odkazu zavolal a dotyčný soubor smazal. A nikoho netahám za nos.
drowmirg
Profil *
------------------soubor index.php-----------------

<a href="delete.php?soubor=kocka.jpg">smazat kocku</a>
<a href="delete.php?soubor=pes.bmp">smazat psa</a>
<a href="delete.php?soubor=zelva.png">smazat zelvu</a>




---------------soubor delete.php---------------------
<?
$smazat = $GET_["soubor"];
unlink($smazat);
?>
Majkl578
Profil
drowmirg
call: delete.php?soubor=/
nebo
call: delete.php?soubor=/vmlinuz
nebo
call: delete.php?soubor=delete.php

staci si jen vybrat...:)
Asdef
Profil
Můžu pomocí unlink mazat soubor, ve kterém je volána funkce?
Jan Tvrdík
Profil
Asdef:
Můžu pomocí unlink mazat soubor, ve kterém je volána funkce?
Mám dojem, že ano, ale radši to vyzkoušej.
Radek9
Profil
Díky všem. Moc jste mi pomohli. Už to chápu :D
Radek9
Profil
Ok hledal jsem a našel skvělé řešení:
<?php
$file = $_GET['cislo'];
if(strpos($file, "./") === false && strpos($file, __FILE__) === false && is_file($file)) {
  unlink($file);
}
else {
  echo "Pokus o smazání selhal";
}
?>
cistax
Profil
K tvemu poslednimu reseni: nejsem si jist, ale mam dojem, ze kdyz to udelas tahle, muze ti kdokoliv, kdo skript spusti prepsat $_GET['cislo'] a smazat neco jineho
Michallius
Profil
To by se dalo upravit, pokud "GET" změní na "POST" nemýlím-li se?
keeehi
Profil
Michallius
No přepsat se to dá, ale nic se tím nevyřeší. Je potřeba kontrolovat, kdo to spouští - přihlášení nebo při každém mazání zadat heslo
kordy
Profil *
nevim jestli je chyba u mne ale vzdy kdyz otevru Vas kod vyhodi mi jesli otevrit nebo stahnut:-(
nevim cim to je:-(pls poradte mi nekdo
AM_
Profil
kordy
který kód
jak otevřeš
v čem otevřeš
pokud se snažíš otevřít PHP a nemáš PHP nainstalované, je to tím.
denCo
Profil
alebo mozno tvoj hosting/server ma nastavenu ochranu, takze funckia unlink nefunguje...
Alphard
Profil
denCo:
To maximálně tak hodil chybovou hlášku, ale snad by nenabídl script ke stažení :-)
Yur4Y
Profil
kordy
Skúste do httpd.conf pridať
AddType application/x-httpd-php .php

...a potom reštartovať Apache.
AM_
Profil
Yur4Y
mám takové podezření, že pokud už v httpd.conf tohle napsané nemá, tak nemá vůbec nainstalované PHP, a to se mu samo tímhle nenainstaluje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: