Надо сделать чтение и запись файла через форму. Проблема в том, что файл - php и внутри него хратится код. Как этот файл корректно открыть в <textarea> и потом корректно сохранить, чтобы на выходе не получалось всяких html-пригодных крюкозябер? Битый час ковыряю себе мозг, но так ни к чему и не пришёл...
PHP: <?php # php - саморедактор $redfile = basename(__FILE__); if (isset($_POST["phpfile"])) { $FP=fopen($redfile,"w");fwrite($FP,$_POST["phpfile"]);fclose($FP); header("location: $redfile"); exit; } print 'привет, замените эту запись на свою и нажмите сохранить'; $cont = htmlspecialchars(file_get_contents($redfile)); ?> <html> <form action="<?php echo $redfile;?>" method="POST"> <textarea cols="60" rows="20" name="phpfile"> <?php print $cont; ?> </textarea><P> <input type="submit" value="сохранить"> </form> файл сам себя редактирует. ВНИМАНИЕ нужны права на перезапись в LINUX системах удалите файл после использования, ибо небезопасно его хранить.
Alex_pac, этот вариант работает на половину. В <textarea> файл открывается в пригодном виде, а вот записывается всё-равно в таком: PHP: <?php<br /><br />if (!defined(\"IN_MKP\")) {<br /> die (\"Sorry !! You cannot access this file directly.\");<br />}<br /><br />global $mkportals, $DB, $std, $print, $mklib, $Skin, $mklib_board;<br />$mlink=\"index.php?ind=pages\";<br /><br />if ($mkportals->input[\'op\'] == \"\") { // NNN �����<br /><br />$id=$mkportals->member[\'id\'];<br />switch($id) {<br /><br />case \'23\': /* TIXOH 228 */<br />$DB->query(\"SELECT content FROM mkp_pages WHERE id=11\");<br /> while( $row = $DB->fetch_row($query) ) {<br /> $cont = $row[\'content\'];<br /> }<br />break;<br /><br />case \'23\': /* despa 306 */<br />$DB->query(\"SELECT content FROM mkp_pages WHERE id=9\");<br /> while( $row = $DB->fetch_row($query) ) {<br /> $cont = $row[\'content\'];<br />
Не-не, не в правах дело. Я тестил на локальном компе. Оно записывает, но в таком виде, в котором я написал выше.
потому что где-то настроено ещё одно экранирование символов. судя по тому, что это движок, то делается это где-то на уровне обработки запроса в ядре движка.
Ну я же не пользуюсь функциями движка при сохранении файла, я использую чистый php. А как сделать де-экранизацию текста? Попробую прикрутить прямо перед сохранением.
Freakmeister тогда что-то у тебя не то - у всех нормально, а у тебя не работает. смотри настройки php