PHP注释框到txt文件

时间:2014-08-16 22:01:16

标签: php

<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文件中。

但我需要的是:当你点击提交时,它不会将新文本添加到旧文本中,它会删除旧文本并仅放入新文本。 (换句话说,一旦添加新文本,我不会留下旧文本。)

3 个答案:

答案 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)