将textarea数据从HTML页面保存到TXT文件

时间:2019-08-13 11:16:38

标签: javascript php jquery html

我正在为我所属的组织构建数据库服务器,其中一种选择是他们需要能够更改名称列表。此列表位于webroot中的txt文件中。

我已经将txt文件的内容加载到html页面的textarea中,现在,我需要做的就是将textarea内容保存到同一文件中,以防万一我们需要更新或更改名称。

我已经尝试过了:

<textarea id="toroq" style="width: 100%; height: 200px;"><?php include("lista_toroq.txt") ?></textarea>
<input id="save_toroq" type="button" value="Save" onclick="WriteToFile();"/>
function WriteToFile()
{
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var text=document.getElementById("toroq").innerText;
    //var fileName=document.getElementById("TextArea2").innerText;
    var s = fso.CreateTextFile("lista_toroq.txt", true);
    s.WriteLine(text);
    s.WriteLine('***********************');
    s.Close();
}

问题是它没有保存文件

2 个答案:

答案 0 :(得分:2)

JavaScript无法在不运行某种形式的代码的情况下直接编辑或更改存储在Web服务器上的文件。

使用类似这样的内容:

<?php
if ($_POST["text"]) {
    file_put_contents("file.txt", $_POST["text"]);
}
?>

上面的代码在设置了$_POST["text"]后运行。

将您的HTML表单更改为以下形式:

<html>
  <body>
    <form method="POST">
      <textarea name="text tyle="width: 100%; height: 200px;"></textarea>
      <input type="submit" value="submit" />
    </form>
  </body>
</html>

您可以将这两部分代码存储在一个PHP文件中。结果将是这样:

<?php

if (isset($_POST["text"])) {
    $filename = "lista_toroq.txt";
    $fileContent = file_get_contents ($filename);

    $separator = "***********************";
    $new_content = $_POST["text"].$separator.$fileContent

    file_put_contents($filename, $new_content);
    echo "Text added to file";
}

?>
<html>
  <body>
    <form method="POST">
      <textarea name="text" tyle="width: 100%; height: 200px;"></textarea>
      <input type="submit" value="submit" />
    </form>
  </body>
</html>

答案 1 :(得分:0)

您不能直接从javascript编写。您必须使用PHP编写。您可以使用file_get_contents获取文件内容,也可以使用file_get_contents进行写入。 您可以使用HTML表单执行以下操作。

<?php

if (isset($_POST["text"])) {
    $filename = "lista_toroq.txt";
    $fileContent = file_get_contents ($filename);

    $separator = "***********************";
    $new_content = $_POST["text"].$separator.$fileContent

    file_put_contents($filename, $new_content);
    echo "Text added to file";
}

?>