1

我有这个代码:

<?php
if(isset($_POST['submit'])){
$fi = "/home2/chippery/public_html/rtf/webR/top.txt";
$fih = fopen($fi, 'w');
$cont = $_POST["top"];
fwrite($fih,$cont);
fclose($fih);


$fi = "/home2/chippery/public_html/rtf/webR/bottom.txt";
$fih = fopen($fi, 'w');
$cont = $_POST["bottom"];
fwrite($fih,$cont);
fclose($fih);


$fi = "/home2/chippery/public_html/rtf/webR/nextTime.txt";
$fih = fopen($fi, 'w');
$cont = $_POST["time"];
fwrite($fih,$cont);
fclose($fih);
}
?>

<html>
<head>
<title>Chipperyman573</title>
<link rel="shortcut icon" href="/fav.ico" />
</head>
<body>
<form method="post" action="change.html">
  Top: <input type="text" name="top" /><br>
  Bottom: <input type="text" name="bottom" /><br>
  Time (MS): <input type="text" name="time" /><br>
  <input type="submit" value="Save" />
</form>
</body>
</html>

我已经制作了文本页面,当我尝试使用这种形式时,页面不会改变。我究竟做错了什么?我对 html/php非常陌生,所以我确信这很愚蠢。

4

3 回答 3

3

要在文件中写入内容,您应该fwrite()在以写入模式打开文件后使用。

在您的代码中几乎没有错误,更新的代码在这里。我以为你的文件名是myfile.php-

<?php
if(isset($_POST['submit'])){
$fi = "top.txt";
$fih = fopen($fi, 'w');
$cont = $_POST["top"];
fwrite($fih,$cont);
fclose($fih);


$fi = "bottom.txt";
$fih = fopen($fi, 'w');
$cont = $_POST["bottom"];
fwrite($fih,$cont);
fclose($fih);


$fi = "nextTime.txt";
$fih = fopen($fi, 'w');
$cont = $_POST["time"];
fwrite($fih,$cont);
fclose($fih);
}
?>
<html>
<head>
<title>Chipperyman573</title>
<link rel="shortcut icon" href="/fav.ico" />
</head>
<body>
<form method="post" action="myfile.php">
  Top: <input type="text" name="top" /><br>
  Bottom: <input type="text" name="bottom" /><br>
  Time (MS): <input type="text" name="time" /><br>
  <input type="submit" value="Save" />
</form>
</body>
</html>
于 2013-10-18T04:16:57.737 回答
1

您也可以使用file_put_contents()函数。

该函数等同于依次调用 fopen()、fwrite() 和 fclose() 将数据写入文件。

<?php
if (isset($_POST['submit'])) {
    $fi = "top.txt";
    $cont = $_POST["top"];
    file_put_contents($fi, $cont);


    $fi = "bottom.txt";
    $cont = $_POST["bottom"];
    file_put_contents($fi, $cont);


    $fi = "nextTime.txt";
    $cont = $_POST["time"];
    file_put_contents($fi, $cont);
}
?>
于 2013-10-18T05:05:12.453 回答
0
<?php
if(isset($_POST['submit'])){
$fi = "top.txt";
$fih = fopen($fi, 'w') <-- missing semi-colon
$cont = $_POST["top"] <-- missing semi-colon
fclose($fih);


$fi = "bottom.txt";
$fih = fopen($fi, 'w') <-- missing semi-colon
$cont = $_POST["bottom"];
fclose($fih);


$fi = "nextTime.txt";
$fih = fopen($fi, 'w') <-- missing semi-colon
$cont = $_POST["time"];
fclose($fih);
}
?>

正如 Ritesh 所说,您没有将任何数据写入文件。只是打开,然后关闭它们。

于 2013-10-18T04:20:59.663 回答