Autor Zpráva
Venushja
Profil
Zdravim mam problem mam script na mazani souboru ale porad mi nefunguje
<?php
if($vymazat==""){
echo"
<form>
<input type='text' name='vymazat'><br>
<input type='submit' value='Vymaz Tento Soubor'>
</form>
";
}else{
echo"...Cenzura...";
unlink("/upload/$vymazat");
}; ?>


Nevim co tam mam spatne mam tento soubor ve slozce s tema souborama co by se mazaly...
Nevite v cem je problem?
Kdyby byl problem v tom ze to je ve stejny slozce tak bych potreboval radu jak udelat aby to mohlo byt ve stejne slozce...
Dekuji
Vagrant
Profil
A to do toho formuláře píšeš název toho souboru?
Venushja
Profil
Vagrant
Presne...
Vagrant
Profil
Tak ti tam chybí předání toho názvu... atribut action tagu <form action="mazani.php" method="post"> by mel obsahovat nazev souboru ve kterem získáš proměnnou $_POST['vymazat']... podle tveho skriptu se přiřadí do $vymazat . A pokud je ten skript ve stejné složce jako soubor který mažeš, pak bude cesta jenom $vymazat (čili název souboru).
Venushja
Profil
No prave ze kdyz to je takhle tak se jakoby ukaze http://..........cz/upload/mazat.php?vymazat=jmeno souboru ale jak to udelat aby se to proste vymazalo a mel na to bud jeden script nebo jeden soubor ?
denCo
Profil
vypise ti nejaku chybovu hlasku? mas to na webhostingu? ak hej tak na vacsine hostingov sa neda vymazavat subor pomocou funckie unlink, lebo by sa to mohlo zneuzit
Vagrant
Profil
if(!isset($_POST['submit']))
{
echo  '<form action="mazani.php">
<input type="text" name="vymazat"><br>
<input type="submit" name="submit" value="Vymaz Tento Soubor">
</form>';
}
else
{
$vymaz=$_POST['vymazat'];
echo"...Cenzura...";
unlink($vymaz);
}



Tohle je strašně zjednodušené... co se má udělat potom co se to smaže, máš práva k mazání , ošetřený výstup z formuláře atd...
johnl
Profil
denCo:
ak hej tak na vacsine hostingov sa neda vymazavat subor pomocou funckie unlink, lebo by sa to mohlo zneuzit
Myslím že to jde skoro na každém hostingu (nebo alespoň co jsem já zkoušel) akorát musí mít soubor nastavený chmod 777
denCo
Profil
Myslím že to jde skoro na každém hostingu (nebo alespoň co jsem já zkoušel) akorát musí mít soubor nastavený chmod 777
nieje pravda, vela ich ma zabezpecene, lebo by si mohol zmazat zahladne subory atd. ale je mozne ze si narazil na take ktore to nemali :-)
AM_
Profil
Vagrant
je docela podstatné toto: unlink('upload/'.$vymaz); jinak by uživatel mohl smazat cokoli. I tak to zaslouží další ochranu, co když jako parametr zadám '../mazani.php'?

Venushja
Chyba bude zřejmě v tom, že jsi tam měl lomítko navíc ('/upload'), což v linuxu znamená absolutní cesta - pochybuji, že složka upload je v kořenovém adresáři serveru (webu možná, ale serveru ne).
Venushja
Profil
Diky lidi nevim jak to funguje ale asi dobre protoze sem kamosoj vymazal vsechny uploadnuty soubory protoze nemel ochraneny upload na php soubory tak sem mu rekl ze mu to bugnu a on neveril :-D Jinak ucel to splnilo diky lidi...
johnl
Profil
denCo:
Většina byly free hostingi (ic*cz, wz*cz, hostuj*cz, hostend*eu, comehere*cz, můj localhost a servery na gigaserver*cz) :)

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: