我试图将SQL查询的结果写入文本文件。写作工作正常,但我希望能够一次写入所有条目,然后添加
所有尚未包含在文件中的条目。请问您知道如何实现这一目标吗?
$t = mysql_query("SELECT text FROM transactions")
or die("SELECT Error: ".mysql_error());
print "<table width=300 border=1>\n";
while ($get_info = mysql_fetch_row($t)){
$class = $op->classify($field);
print "<tr>\n";
print "\t<td>Transaction</td>\n";
foreach ($get_info as $field)
print "\t<td>$field</td>\n";
print "\t<td>Type</td>\n";
foreach ($get_info as $field)
print "\t<td>$class</td>\n";
print "</tr>\n";
if ($class == "pos")
{
$filep = "positive.txt";
$handlep = fopen($filep, 'a');
$data = "$field\n";
fwrite($handlep, $data);
fclose($handlep);
}
if ($class == "neg") {
$filen = "negative.txt";
$handlen = fopen($filen, 'a');
$datan = "$field\n";
fwrite($handlen, $datan);
fclose($handlen);
}
答案 0 :(得分:1)
首先,我无法想象为什么你会希望这样做,但这就是我将如何做到的。
对于每条记录,还在其中一列中存储时间戳。每当您向DB查询要写入的新记录时,您都会执行一个查询,该查询仅捕获时间戳晚于平面文件上次修改时间的记录。平面文件当然是您正在写入的文件。
您可以使用简单的filemtime($ filename)来获取文件的上次修改时间。
http://php.net/manual/en/function.filemtime.php
您可能希望在附加文件之前锁定该文件,具体取决于这些写入的触发方式。