<html>
<head></head>
<body>
<form method="post">
<textarea name="txt" cols="25" rows="5"></textarea>
<br><br> <input type="submit" value="Submit" name="submit" />
<?php
if ( isset( $_POST[ 'submit' ] ) ) {
$com = $_POST[ "txt" ];
$file = fopen( "weather.txt", "a" );
fwrite( $file, "<br>" );
for ( $i = 0; $i <= strlen( $com ) - 1; $i++ ) {
fwrite( $file, $com[ $i ] );
if ( $i % 37 == 0 && $i != 0 ) fwrite( $file, "<br/>" );
}
fwrite( $file, "<br>------------------------------------------" );
fclose( $file );
// Add here
echo '<script type="text/javascript">window.location ="";</script>';
}
?>
<br>
</form>
<font face="Times New Roman"><b><p>Textul introdus este: </p></b></font>
<font face="Comic Sans MS" color="red" size="2">
<?php
if (file_exists("weather.txt")) {
$file = fopen( "weather.txt", "r" );
echo fread( $file, filesize( "weather.txt" ) );
fclose( $file );
}
?>
</font>
</body>
</html>
此代码可以很好地将文本添加到weather.txt文件中。
但我需要的是:当你点击提交时,它不会将新文本添加到旧文本中,它会删除旧文本并仅放入新文本。 (换句话说,一旦添加新文本,我不会留下旧文本。)
答案 0 :(得分:0)
使用fopen( "weather.txt", "w" );
代替fopen( "weather.txt", "a" );
。 w
使PHP打开文件只写,并将写指针重置为文件的开头(即,你重写它)。
有关详细信息,请参阅http://php.net/manual/de/function.fopen.php上的mode
说明。
答案 1 :(得分:0)
a
中的 fopen
用于追加,因此在当前代码中使用w
进行覆盖。但是我会简化:
if(isset($_POST[ 'submit' ])) {
$com = $_POST[ "txt" ];
$content = "<br>" . chunk_split($com, 37, "<br>") . "<br>";
$content .= "------------------------------------------";
file_put_contents("weather.txt", $content);
}
然后再显示:
if(file_exists("weather.txt")) {
echo file_get_contents("weather.txt");
//or alternately
readfile("weather.txt");
}
答案 2 :(得分:0)
fopen("weather.txt","w")
代表 w 礼,而不是 a ppend。
或
file_put_contents("weather.txt",$yourContent)