如何将php文件从write更改为overwrite

时间:2016-02-16 12:22:01

标签: php forms overwrite

您好我有一段代码写入文本文件,但我希望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);
        }
        }
    ?>

1 个答案:

答案 0 :(得分:0)

覆盖只是写一个相同的文件,区别在于文件指针在覆盖时位于文件的开头。您可以尝试使用'w'模式。 php.net/manual/en/function.fopen.php