Autor Zpráva
siZ
Profil *
Dobrý den

Pls , jak smazat soubor pomocí unlinku z jiné složky než je soubor delete.php.

Děkuji :)
Peca
Profil
Pomocí relativní cesty to nejde?
adresar/soubor.php nebo ../adresar/soubor.php
siZ
Profil *
uz de :D sem mel spatne jmeno promene , fakt sry :)
Mike
Profil
Ahoj mám podobny problém
$file= "./soubory/'".$filename."'";
unlink($file);
uz sem vyzkousel snad 50 moznosti jak to udelat s tema uvozovkama porad nevím v jednom adresari mám skript na mazání a ve stejnem adresari adresar kam se uploaduji soubory poradil by mi nekdo diky moc.
Rellik
Profil
A skošel si to tak?

$file= './soubory/'.$filename;
unlink($file);
Mike
Profil
Warning: unlink(./soubory/) [function.unlink]: Is a directory in asi to bude tim ze tam je safemod a nedovoluje mi to protoze kdyz si to vyechuju tak je to spravne nebo to nechapu.
Rellik
Profil
Mike
A ma ten soubor takove prava aby sel smazat?
Mike
Profil
jj kdyz tam tu cestu zadám ručně bez promene tak to udělá bez keců ale jak tam dam promenou tak to zlobí
jestli by vám pomohl jestli by vám pomohlo phpinfo tak tady je je tam totiz safe mod
Rellik
Profil
Mike
Safe mode podle mě nevadí. Protože já mám stránky na WZ kde je taky zapnuty safe_mod a normálně tam mažu soubory i se složkama.
mám na to takovou funkci:

function rmdirtree($dirname) {

if (is_dir($dirname)) {
$result=array();
if (substr($dirname,-1)!='/') {$dirname.='/';}
$handle = opendir($dirname);
while (false !== ($file = readdir($handle))) {
if ($file!='.' && $file!= '..') {
$path = $dirname.$file;
if (is_dir($path)) {
$result=array_merge($result,rmdirtree($path));
}else{
unlink($path);
$result[].=$path;
}
}
}
closedir($handle);
rmdir($dirname);
$result[].=$dirname;
return $result;
}else{
return false;
}
}
....
$smazat='cesta/soubor.xxx'; // jen jako priklad... jinak nazvy taham z DB

rmdirtree($smazat);


Funkce vymaže soubory v určené složce a pak i tu složku. Používám to při mazání fotogalerií. Skus ti to predělat jen na mazání souborů.

Dále soubory mažu tak:

$adresar = $_GET['id']."/";            //z promenne v odkazu priradim slozku

$adresar_nahled = $_GET['id']."/nahledy/";

if($delete)
{
if(file_exists($adresar.$file))
{
unlink($adresar.$file);

}
if(file_exists($adresar_nahled.$file))
{
unlink($adresar_nahled.$file);
}
echo '<span class="red">Fotografie byla smazána!</span>';
}


Skus a uvidíš že to musí jít. Jinak to budeš muset mazat ručně přes FTP.
Mike
Profil
taky mám nazvy v DB zkusim to tvoje snad budu mit ted vic štěstí ;-)
Toto téma je uzamčeno. Odpověď nelze zaslat.