我创建了一个PHP表单,用于创建具有特定语法的.txt
文件。例如:当我在第一个文本字段中输入鼠标并在文本字段编号中输入时,它会创建一个包含以下内容的.txt文件:"data1="mouse",data2="house"
。
到目前为止一切顺利。现在我想创建另一个PHP站点,显示某个web文件夹中的每个.txt文件,显示每个文件,并带有一个复选框以删除它。这是我的问题,我不知道如何做到这一点:
我希望每个显示的文件名都是超链接。如果用户点击其中一个链接,它应该读取.txt并获取我在第一个PHP(鼠标,房子)中输入的那些元素并将其放回到表单中。这样我就可以编辑和更新现有的.txt文件。
这是我走了多远,不幸的是我是一个糟糕的程序员。有人之前做过这样的事情并且可以共享代码吗?
<?php
include('auth.php');
$ordner = "txt/*";
$tablerows = "";
$i = 1;
foreach (glob("$ordner") as $filename) {
if (isset($_POST['checkbox'][$i]))
unlink(realpath($filename));
$i++;
} $i = 1;
foreach (glob("$ordner") as $filename) {
$tablerows .= "<tr><td>" . basename($filename) . "</td><td><input type='checkbox' name='checkbox[$i]'></td></tr>\n";
$i++;
}
?>
<html lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title></title>
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<div class="wrapper">
<div id="main" style="padding:50px 0 0 0;">
<!-- TERMINE LÖSCHEN FORMULAR -->
<form id="formular" method="POST">
<h1>Termine löschen</h1>
<h2>Es wurde(n) <?php echo--$i - 1 ?> Termin(e) gefunden. </h2>
<table>
<thead>
<tr>
<th>Datei</th><th>löschen</th>
</tr>
</thead>
<tbody>
<?php echo $tablerows ?>
</tbody>
</table><br>
<input type="submit" value="Löschen" onclick="return confirm('Die ausgewählten Termine werden gelöscht! Sind Sie sicher?');">
</form>
</div>
</div>
</body>
</html>
我现在要做的是,可以编辑那些.txt
答案 0 :(得分:0)
尝试这段代码而不是你的代码:
<?php
$path = "txt/*.txt";
// delete files
if (isset($_POST['delete']) && is_array($_POST['delete'])) {
foreach ($_POST['delete'] as $filename) {
unlink(realpath($filename));
}
}
// prepare HTML table rows
$tablerows = "";
$i = 0;
foreach (glob($path) as $filename) {
$tablerows .= "<tr>".
"<td>" . basename($filename) . "</td>".
"<td><input type='checkbox' name='delete[]' value='$filename'></td>".
"</tr>\n";
$i++;
}
?>
答案 1 :(得分:0)
感谢您的回答。我想要做的是打开一个.txt文件。将其特定部分放入表单中,如果表单已提交,则应更新.txt文件。所以类似下面的代码。我的问题是,我的文本文件有一个特定的格式:
data1 =&#34;第一个文字&#34;,data2 =&#34;第二个文字&#34;,data3 =&#34;第三个文字&#34;
我只想阅读&#34;&#34;!之间的部分。因此,如果在表单中打开,第一个文本输入应该包含第一个文本,第二个文本第二个文本,依此类推......所以当我将第一个文本输入中的内容更改为 test 并提交表单,我的.txt文件应该具有以下内容:
data1 =&#34; test&#34;,data2 =&#34; second text&#34;,data3 =&#34; third text&#34;
<?
if($_POST['Submit']){
$open = fopen("test.txt","w+");
$text = $_POST['update'];
fwrite($open, $text);
fclose($open);
echo "File updated.<br />";
echo "File:<br />";
$file = file("test.txt");
foreach($file as $text) {
echo $text."<br />";
}
echo "<p><a href=\"./livepage.php\">click here to view the live updated webpage</a></p>";
echo "<p><a href=\"./mainadminpage.php\">click here to view the admin menu</a></p>";
}else{
$file = file("test.txt");
echo "<form action=\"".$PHP_SELF."\" method=\"post\">";
echo "<textarea Name=\"update\" cols=\"50\" rows=\"10\">";
foreach($file as $text) {
echo $text;
}
echo "</textarea>";
echo "<input name=\"Submit\" type=\"submit\" value=\"Update\" />\n
</form>";
}
?>