file_put_contents()没有写过,只是追加

时间:2012-01-07 09:01:16

标签: php

我有一个简单的file.txt,每次运行某个PHP代码时都需要重写。

$msg ="string";
$file = 'file.txt';
$opn = file_get_contents($file);
$opn .= $msg;
file_put_contents($file, $opn);

代码完美无缺,它添加了我想要添加的字符串,但它将它附加到前者。我希望它将其删除然后写入。

我已阅读手册http://php.net/manual/en/function.file-put-contents.php 我也没有使用FILE_APPEND参数。

我没有看到这是一件简单的事情。帮助我。

修改

这是整个代码。我从网站上获取了一些数据。数据采用此格式12.222 AAA,我正在尝试将其保存到文本文件中以便以后轻松访问。 但由于某种原因,某些东西不起作用。刮刀工作得很好,file_put_contents()如果我设置$item="string";就完美地工作但是当$item设置为等于下面的代码时它不起作用。如果我回应$ item我得到了我想要的东西。

<?php 

include('simple_html_dom.php');


$html = file_get_html('http://site.com/boom');

// find the thing in the span
foreach($html->find('div') as $article) {
    $item = $article->find('span', 0)->plaintext;

echo $item;

    $file = 'file.txt';
    $fh = fopen( 'file.txt', 'w' );
    fclose($fh);
    $opn = file_get_contents($file);
    $opn .= $item;
    file_put_contents($file, $opn);

}
?>

4 个答案:

答案 0 :(得分:3)

您正在联接$opn .= $msg;

中的字符串

您可以使用

$msg ="string";
$file = 'file.txt';
file_put_contents($file, $msg);

无需阅读数据。

答案 1 :(得分:1)

你正在将文件的内容读入一个字符串变量($ opn),将你的消息($ msg)附加到$ opn,然后将$ opn写回文件....你正在做的追加是

$opn .= $msg;

如果您只想将$ msg写入文件,请使用

file_put_contents($file, $msg);

答案 2 :(得分:1)

    <?php
    $msg ="string";
    $file = 'file.txt';
    $fh = fopen( 'file.txt', 'w' );
    fclose($fh);
    $opn = file_get_contents($file);
    $opn .= $msg;
    file_put_contents($file, $opn);
    ?>

此代码将执行您要查找的内容.. :))

答案 3 :(得分:-2)

  

file_put_contents($ file,$ opn,FILE_APPEND);