使用PHP编辑PHP文件

使用PHP编辑PHP文件,php,html,Php,Html,我正在使用以下脚本编辑服务器上基于文本的文件(TXT、HTML、PHP等) 该脚本适用于大多数PHP文件,例如: 但是,如果一个文件包含一些带有textarea的表单,代码就会被弄乱 例如: 另一个例子: 想知道为什么会发生这种情况以及如何解决它,谢谢第一条评论总结了这一切 有趣的事实:我自己也有一个类似的工具,能够从书签编辑文件,清空文件功能和sha1密码保护。(原始代码中仍然使用不安全的crc32) 希望它真的有用 if(sha1($\u POST['pass'])!=$pass){

我正在使用以下脚本编辑服务器上基于文本的文件(TXT、HTML、PHP等)



该脚本适用于大多数PHP文件,例如:

但是,如果一个文件包含一些带有textarea的表单,代码就会被弄乱

例如:

另一个例子:


想知道为什么会发生这种情况以及如何解决它,谢谢第一条评论总结了这一切

有趣的事实:我自己也有一个类似的工具,能够从书签编辑文件,清空文件功能和sha1密码保护。(原始代码中仍然使用不安全的crc32)

希望它真的有用

if(sha1($\u POST['pass'])!=$pass){
echo“输入{padding:0.1em;字体大小:1.1em}body{background:$bg;color:$fg;字体系列:corbel;字体大小:1.4vw;padding:0.4em}a{color:$fg}$nick:)”;
回声'
代码:


",; 如果($_POST['pass']!=“”){ 回显“错误代码”; } }

要清空文件,请键入“empty”。 要在使用前设置密码,请检查前5行代码,然后修改
$pass

确保密码安全且唯一(14个以上字符)

不要使用短的\u open \u标记,在大多数服务器上默认情况下,它们是关闭的。如果您对字符进行编码,请不要忘记在以后使用它们时对其进行解码。并关心您允许谁以这种方式编辑文件。。。为了安全起见,这是因为浏览器将解释html,而您不能嵌套文本区域。@MarkBaker它是
而不是
html\u special\u chars
,它解决了这个问题,谢谢。也许你想回答,这样我就可以接受了?
<?php
    $filename = "test.php";

    function make_content_file($filename,$content,$opentype="w")
    {
        $fp_file = fopen($filename, $opentype);
        fputs($fp_file, $content);
        fclose($fp_file);
    }

    if($_POST)
    {
         $newcontents=$_POST[newcontents];
         make_content_file($filename,$newcontents);
    }
    $filecontents = file_get_contents($filename);
?>

<?php
    if($_POST)
    {
        echo '<p><span style="font-weight: 700; background-color: #CCFFCC">You have successfully posted to your txt file!</span></p>
        <a href="".$filename."">Download</a>';
    }
?>

<form method="post">
    <textarea name="newcontents" cols="70" rows="25"><?=$filecontents?></textarea>
    <br>
    <input type="submit" value="Save">  
</form>