Autor Zpráva
Shanoy
Profil *
Dobrý den.
Mám "admina" na svojej stránke, ktory je v zlozke: admin/ a zlozky s css su v: layout/ no a pre adminovanie napríklad css mám tento kod v zozke admin/edit.php:
<?php

if($_GET[edit] && file_exists($_GET[edit]))
{

$file = $_GET[edit];
$soubor = fopen($file, "a+");

if($_POST[akce] == "Edituj súbor" && $_GET[edit])
{
$_POST[msg] = stripslashes($_POST[msg]);
$soubor = fopen($dir,$file, "w");
fwrite($soubor, $_POST[msg]);
fclose($soubor);
$zpr = "<p>EDITOVANÉ!!!</p>";

}


$handle = fopen($file, "r");
$contents = fread($handle, filesize($file));
$contents = stripslashes($contents);
fclose($handle);

echo "
<fieldset style='align:center'>
<legend>Súbor:&nbsp;<b>$_GET[edit]</b></legend>$zpr
<form style='margin:auto' method='post'>
<textarea name='msg' cols='100' rows='25'>". htmlspecialchars($contents) ."</textarea><br />
<input type='submit' name='akce' value='Edituj súbor' /></form></fieldset>";
}

$array = array("dat","css"); /

$dir=opendir("../layout");
while ($file = readdir($dir))
{
$f = Explode(".",$file);
if($f[2]) $f[1]=$f[2];
if(in_array($f[1],$array))
{
echo "<a href='edit.php?edit=../layout/$file'>$file</a><br>";
}
}

?>
no ide oto ze sa ma zobrazit stranka na ktorej su vypisane subory v adresary ../layout/ s koncovkou .css a .dat. potom ked nato kliknes tak sa zobrazi textarea v ktorej je subor vypisany a ty ho mozes pomenit a potom ulozit... problem je vtom ze ked je ten script nastaveny aby editoval subory v zlozke: admin/ teda v domovskej tak to ide, no ked uz mam upravovat subory v druhej zlozke tak to uz nejde...atributy su 777 pre tie subory ktore maju byt editovane no ani tak to nejde.... prosím neviete v com je chyba?
krteczek
Profil
$dir=opendir("../layout"); => pokud se nepletu je na serveru zaplé safe_mode, znamená to mio jiné, že vytvářet, editovat, a mazat soubory můžeš jen v složce aktuální, nebo ve stromu zanořených složek k aktuálnímu souboru (php_self). Nelze tedy přistupovat k souborům a složkám, jejichž cesta začíná mimo aktuální adresář.

předpokládaný strom:
/admin/admin.php (soubor, kterým chci editovat jiný soubor)
/admin/css/styl.css (tady lze upravovat)
/adresar/neco.php (tady nelze upravovat)

snad jsem to popsal srozumitelně.
krteczek
Shanoy
Profil *
jj... dobre si to myslel.. tak teda stym nic nenarobim? no nevadí
dakujem za odpoved
krteczek
Profil
Shanoy: samozřejmě že ano, ale musíš ten admin soubor dát do kořene webu, potom budeš moci editovat soubory ve všech adresářích ke kterým budeš mít práva
Shanoy
Profil *
JJ diki
Toto téma je uzamčeno. Odpověď nelze zaslat.