我使用以下脚本编辑服务器上的基于文本的文件(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文件示例:
但是如果一个文件包含一些带有textarea的表单,那么代码就会搞砸了
示例:
另一个例子:http://i.imgur.com/P9O34Y8.png
想知道为什么会发生这种情况以及如何解决它,谢谢
答案 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.';
}
}
要清空文件,请键入“空”。
要在使用前设置密码,请检查代码的前5行,然后修改$pass
。
确保密码安全且唯一(超过14个字符)