本文介绍了file_put_contents覆盖数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
每当数据库中有一个条目时,我都使用file_put_content将数据写入文件中.而不是追加新条目,而是用new覆盖旧数据.这是我正在使用的代码的一部分.我尝试了APPEND In标志,但不起作用`
I use file_put_content to write data in file every time there is an entry in database. Instead of appending new entry it overwrites old data with new.Here is part of code which I am using.I tried with APPEND In flag but doesn't work. `
include_once(CLASS_PATH."fetch_service.php");
$objfetch = new fetchService();
$res = $objfetch->fetch_proxy("*","where account_id='".$_SESSION['account_id']."'");
foreach($res as $result)
{
$proxyname=$result['proxyname'];
$ip=$result['proxyip'];
$proxyport=$result['port'];
$proxyuser=$result['username'];
$proxypwd=$result['password'];
$proxydomain=$result['domain'];
$account_id=$result['account_id'];
$content2 = "";
$content2 .= ";/*----*-------------------*----------"."\n";
$content2 .= "; * Created On ".date("Y-m-d")."\n";
$content2 .= "; * Adding Proxy"."\n";
// $content2 .= "; * By ".$_SESSION['username']."\n";
$content2 .= "; *----*-------------------*----------"."\n\n";
$content2 .="[$proxyname]"."\n"; //context Name//
$content2 .="username=$proxyuser"."\n";
$content2 .="secret=$proxypwd"."\n";
$content2 .="fromdomain=$proxydomain"."\n";
$content2 .="host=$ip"."\n";
$content2 .="port='$proxyport'"."\n";
$content2 .="canreinvite=yes"."\n";
$content2 .="nat=force_rport,comedia"."\n";
$content2 .="type=peer"."\n";
$content2 .="disallow=all"."\n";
$content2 .="allow=g729"."\n";
$content2 .="allow=ulaw"."\n";
$content2 .="allow=alaw"."\n";
$file2 = 'trunk_test.conf';
error_log("======FILE path ====$file2======");
file_put_contents($file2, $content2, LOCK_EX);
}
}
?> `
推荐答案
如果要将新数据附加到文件中
If you want to append new data into the file
您应该使用此标志
// this will append the content to the end of the file,
// and prevent anyone else writing to the file at the same time
file_put_contents($file2, $content2, FILE_APPEND | LOCK_EX);
这篇关于file_put_contents覆盖数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!