file_put_contents只清除文本文件

时间:2013-10-24 00:08:24

标签: php

我有这段代码:

<html>
<head>
<title>Chipperyman573</title>
<link rel="shortcut icon" href="/fav.ico" />
</head>
<body>
<form method="post" action="change.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" name="submit" />
</form>
</body>
</html>

<?php
if(isset($_POST['submit'])){
$fi = "/var/www/rtf/webR/top.txt";
file_put_contents($fi, $cont);
$cont = $_POST["top"];
}
?>

当我转到更改页面(chipperyman573.com/rtf/webR/change.php)并填写表单,然后单击“提交”时,文本文件只会自行清除。为什么呢?

我想清除文本文件的当前内容,并将其替换为我输入的内容。

3 个答案:

答案 0 :(得分:1)

因为您在设置$cont之前将文件放入文件中。它应该是:

$cont = $_POST["top"];
file_put_contents($fi, $cont);

或简单地说:

file_put_contents($fi, $_POST["top"]);

答案 1 :(得分:1)

$cont需要先在file_get_contents()之前定义。

答案 2 :(得分:1)

因为你在file_put_contents之后宣布$ cont:

if(isset($_POST['submit'])){
$fi = "/var/www/rtf/webR/top.txt";
file_put_contents($fi, $cont);
$cont = $_POST["top"];

应该是:

if(isset($_POST['submit'])){
$fi = "/var/www/rtf/webR/top.txt";
$cont = $_POST["top"];
file_put_contents($fi, $cont);