PHP文本框写入.md文件

时间:2016-10-22 04:03:40

标签: php file-handling

我为自己创建了一个小应用程序来处理包含我的待办事项列表等的.md文件。

<html>
    <body>
        <form name="form" method="post">
            <input type="text" name="text_box" size="50" value="<?php include("me.md"); ?>"/>
            <input type="submit" id="search-submit" value="submit" />
        </form>
    </body>
</html>
<?php
    if(isset($_POST['text_box'])) { //only do file operations when appropriate
        $a = $_POST['text_box'];
        $myFile = "me.md";
        $fh = fopen($myFile, 'w') or die("can't open file");
        fwrite($fh, $a);
        fclose($fh);
    }
?>

每当我在文本框中输入一个值并单击“提交”时,该文件就不会更新并保持不变。我有一种感觉,可能是提交按钮我提交了空白文件的值,但我有一个解决这个问题的方法吗?我需要能够编辑文件,而不是擦除它并重新开始。 谢谢!

2 个答案:

答案 0 :(得分:3)

试试这个。

<html>
    <body>
        <form name="form" method="post">
            <!--<input type="text" name="text_box" size="50" value="<?php //echo file_get_contents('me.md'); ?>"/>-->
            <textarea name="text_box" rows="10" cols="30"><?php echo file_get_contents('me.md'); ?></textarea>
            <input type="submit" id="search-submit" value="submit" />
        </form>
    </body>
</html>
<?php
    if(isset($_POST['text_box'])) { //only do file operations when appropriate
        $a = $_POST['text_box'];
        $myFile = "me.md";
        $fh = fopen($myFile, 'w') or die("can't open file");
        fwrite($fh, $a);
        fclose($fh);
        echo "<meta http-equiv='refresh' content='0'>"; //Refresh the same page
    }

?>

答案 1 :(得分:1)

试试这个。

<html>
    <body>
        <form name="form" method="post" action="">
            <input type="text" name="text_box" size="50" value="<?php echo file_get_contents('me.md'); ?>"/>
            <input type="submit" id="search-submit" value="submit" />
        </form>
    </body>
</html>
<?php
    if(isset($_POST['text_box'])) {
        file_put_contents("me.md", $_POST['text_box']);
        header("Refresh:0");
    }
?>