您好我有一段代码写入文本文件,但我希望php文件完全覆盖文本文件的内容,而不仅仅是添加到它,我必须如何修改我的代码以使其覆盖而不是只是写。这是我的代码:
<form name="savefile" method="post" action="">
<input type="hidden" name="filename" value="code"><br/>
<textarea rows="40" cols="40" name="textdata" style ="font-family: "Lato", sans-serif;">
<?php echo file_get_contents('code.txt'); ?>
</textarea><br/>
<input type="submit" name="submitsave" value="Save">
</form>
<?php
if (isset($_POST)){
if ($_POST['submitsave'] == "Save" && !empty($_POST['filename'])) {
if(!file_exists($_POST['filename'] . ".txt")){
$file = tmpfile();
}
$file = fopen($_POST['filename'] . ".txt","a+");
while(!feof($file)){
$old = $old . fgets($file). "|___end message___|___begin message___|";
}
$text = $_POST["textdata"];
file_put_contents($_POST['filename'] . ".txt", $old . $text);
fclose($file);
}
}
?>
答案 0 :(得分:0)
覆盖只是写一个相同的文件,区别在于文件指针在覆盖时位于文件的开头。您可以尝试使用'w'模式。 php.net/manual/en/function.fopen.php