我为一位客户开发了一个网站,他希望能够在后端类型的解决方案中编辑主页的一小部分。因此,作为一个解决方案,我想添加一个非常基本的编辑器(domain.com/backend/editor.php(,当您访问它时,它将有一个包含代码的文本字段和一个保存按钮。它将编辑的代码将被设置为TXT文件。
我认为用PHP编写这样的代码很容易,但谷歌这次没有帮助我,所以我希望这里可能有人能为我指明正确的方向。请注意,我没有PHP编程经验,只有HTML和基本的javascript,所以请在您提供的任何回复中都仔细阅读。
您可以创建一个HTML表单来编辑文本文件的内容。如果它被提交,你会更新文本文件(并再次重定向到表单以防止F5/刷新警告(:
<?php
// configuration
$url = 'http://example.com/backend/editor.php';
$file = '/path/to/txt/file';
// check if form has been submitted
if (isset($_POST['text']))
{
// save the text contents
file_put_contents($file, $_POST['text']);
// redirect to form again
header(sprintf('Location: %s', $url));
printf('<a href="%s">Moved</a>.', htmlspecialchars($url));
exit();
}
// read the textfile
$text = file_get_contents($file);
?>
<!-- HTML form -->
<form action="" method="post">
<textarea name="text"><?php echo htmlspecialchars((string)$text); ?></textarea>
<input type="submit" />
<input type="reset" />
</form>
要读取文件:
<?php
$file = "pages/file.txt";
if(isset($_POST))
{
$postedHTML = $_POST['html']; // You want to make this more secure!
file_put_contents($file, $postedHTML);
}
?>
<form action="" method="post">
<?php
$content = file_get_contents($file);
echo "<textarea name='html'>" . htmlspecialchars($content) . "</textarea>";
?>
<input type="submit" value="Edit page" />
</form>
您基本上是在寻找一个类似于联系人表单的概念。
应用类似教程中的相同原理,而不是使用mail
发送电子邮件,请查看PHP.net中的文件函数。
你当时在谷歌上搜索了什么?php编写文件给了我几百万次点击。
如fwrite()
:手册
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
// the content of 'data.txt' is now 123 and not 23!
?>
但老实说,您应该先拿起一本PHP书并开始尝试。除了你想在TXT文件中发布一个文本字段(我指的是文本区域?(之外,你没有发布任何单一的要求。这样做:
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
$handle = fopen("home.txt", 'w') or die("Can't open file for writing.");
fwrite($fh, $_POST['textfield']);
fclose($fh);
echo "Content saved.";
}
else
{
// Print the form
?>
<form method="post">
<textarea name="textfield"></textarea>
<input type="submit" />
</form>
<?php
}
请注意,这与您的描述完全匹配。它在打印表单时不会读取文件(所以每次你想编辑文本时,你都必须从头开始(,它不会检查输入是否有任何内容(你希望用户能够发布HTML吗?(,它没有安全检查(每个人都可以访问它并更改文件(,它也不会读取文件以显示在你想要的页面上。
首先要做的是捕获信息,最简单的方法是使用带有TEXTAREA:的HTML表单
<form method='post' action='save.php'>
<textarea name='myTextArea'></textarea>
<button type='submit'>Go</button>
</form>
在"save.php"(或任何地方(上,您可以很容易地看到从表单发送的信息:
<?php
echo $_POST['myTextArea']
?>
要真正创建一个文件,请查看PHP中的fopen/fwrite命令,这是另一个简单的例子:
<?php
$handle = fopen("myFile.txt","w");
fwrite($handle,$_POST['myTextArea'];
fclose($handle);
?>
警告:这是一个极其简单的答案!你可能想保护你的表格和文件,或者做一些不同的事情。。。。以上所要做的就是将表单中发布的内容准确地写入一个文件。如果你想指定不同的文件名,覆盖,附加,检查坏内容/垃圾邮件等,那么你需要做更多的工作。
如果你有一个可以公开访问并将内容发布到网页的编辑器,那么垃圾邮件保护是一项明确的要求,否则你会后悔的
如果你对学习PHP不感兴趣,那么你应该考虑找一位专业的开发人员来为你做任何编码工作!
我也有类似的需求,所以我们创建了一个名为stringmanager.com的客户友好解决方案,用于我们所有的项目和CMS无效的地方。
从您的角度来看,您只需要在代码中标记字符串,即来自:
echo"他想要编辑的文本";至:
echo _t("S_Texthewantstoedit"(;
stringmanager.com负责其余部分。您的客户可以在我们的在线应用程序中管理特定的文本区域,并在任何他想要的地方同步。几乎忘了提,它是完全免费的。
可以使用这行代码:
<form action="" method="post">
<textarea id="test" name="test" style="width:100%; height:50%;"><? echo "$test"; ?></textarea>
<input type="submit" value="submit">
</form>
<?php
$file = "127.0.0.1/test.html";
$test = file_get_contents('1.jpg', 'a');
if (isset($_POST['test'])) {
file_put_contents($file, $_POST["test"]);
};
?>
<form action="" method="post">
<textarea id="test" name="test" style="width:100%; height:50%;"><? echo "$test"; ?></textarea>
<input type="submit" value="submit">
</form>
还没有时间完成,尽可能简单,如果需要的话会添加更多。