使用PHP编辑PHP文件

时间:2014-05-22 10:43:46

标签: php html

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

<?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>

该脚本适用于大多数PHP文件示例:enter image description here

但是如果一个文件包含一些带有textarea的表单,那么代码就会搞砸了

示例:enter image description here

另一个例子:http://i.imgur.com/P9O34Y8.png

想知道为什么会发生这种情况以及如何解决它,谢谢

1 个答案:

答案 0 :(得分:0)

第一个评论总结了全部

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

希望它确实有用

if (sha1($_POST['pass']) != $pass) {
    echo "<style>input{padding:0.1em; font-size:1.1em}body{background:$bg; color:$fg; font-family:corbel;font-size:1.4vw;padding:0.4em}a{color:$fg}</style><body><h2>$nick<mark>:)</mark></h2>";
    echo '
        <form action="writer.php" method="post">
        Code: <input type="password" name="pass" autofocus>
        <input type="hidden" name="f" value="'.$_GET['f'].'"><br><br>';

    if ($_POST['pass'] != ""){
        echo 'Incorrect code.';
    }
}

https://pastebin.com/krMrA783

要清空文件,请键入“空”。 要在使用前设置密码,请检查代码的前5行,然后修改$pass。 确保密码安全且唯一(超过14个字符)