Własnie, chyba się 'upieram'
else if ( $user_logged_in && isset($_GET['manage']) && htmlspecialchars($_GET['manage']) == 'files' )
{
if ( !isset($_POST['uploaded']) )
{
$filname = $_POST['filname'];
setcookie('filname', $filname, time() + 15 * 60);
$uchwyt = fopen($path_root . $filname, 'r');
$file = file_get_contents($path_root . $filname);
$body = $menu.'<br><br><form action="'.$name_this_file.'?manage=files" method="post"><textarea name="filees" cols="60" rows="4">'.$file.'</textarea><br><input type="submit" name="uploaded" value="Save"></form>';
echo $body;
exit;
}
else if ( isset($_POST['uploaded']) )
{
$filname = $_COOKIE['filname'];
$uchwyt = fopen($path_root . $filname, 'r+');
if ($uchwyt)
{
while (($data = fgets($uchwyt, 4096)) !== false)
{
$zamien = $_POST['filees'];
$zamien = str_replace(array('<?php'), '', $zamien);
$zamien = stripslashes($zamien);
$zamien = htmlspecialchars($zamien);
$zamien = str_replace(array('>'), '>', $zamien);
fputs($uchwyt, $zamien);
}
if (!feof($uchwyt))
{
echo "Błąd: niespodziewany błąd fgets()\n";
}
fclose($uchwyt);
echo "gotowe";
exit;
}
}
}
Znalazłem odpowiedź:
a) pętla while wszystko psuła,

flaga, która spełniła moje oczekiwania - w+