我正在为我所属的组织构建数据库服务器,其中一种选择是他们需要能够更改名称列表。此列表位于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();
}
问题是它没有保存文件
答案 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";
}
?>