首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更简单的写入文件的方法

更简单的写入文件的方法
EN

Stack Overflow用户
提问于 2013-07-23 22:06:06
回答 2查看 92关注 0票数 0

有更好的方法吗?

代码语言:javascript
复制
$dataString2 = " $leder klarte orgkrim å fikk: ".$showcah." den ".$timed." ";
$dataString3 = " $hacker klarte orgkrim å fikk: ".$showcah." den ".$timed." ";
$dataString4 = " $driver klarte orgkrim å fikk: ".$showcah." den ".$timed." ";
$dataString5 = " $weaponexpert klarte orgkrim å fikk: ".$showcah." den ".$timed." ";
$dataStringinfo = "$leder, $hacker, $driver, $weaponexpert klarte å OC med å få ".$showcah." tid: ".$timed.""; 
$dataStringinfo .= "\n";
$dataString2 .= "\n";
$dataString3 .= "\n";
$dataString4 .= "\n";
$dataString5 .= "\n";
$fWrite0 = fopen("/home/nordic/www/logger/orgkrim/completed/oversikt.txt","a");
$fWrite1 = fopen("/home/nordic/www/logger/orgkrim/oversikt.txt","a");
$fWrite2 = fopen("/home/nordic/www/logger/orgkrim/completed/$leder.txt","a");
$fWrite3 = fopen("/home/nordic/www/logger/orgkrim/completed/$hacker.txt","a");
$fWrite4 = fopen("/home/nordic/www/logger/orgkrim/completed/$driver.txt","a");
$fWrite5 = fopen("/home/nordic/www/logger/orgkrim/completed/$weaponexpert.txt","a");

$wrote2 = fwrite($fWrite2, $dataString2);
$wrote2 = fwrite($fWrite3, $dataString3);
$wrote3 = fwrite($fWrite4, $dataString4);
$wrote4 = fwrite($fWrite5, $dataString5);
$wrote5 = fwrite($fWrite1, $dataStringinfo);
$wrote0 = fwrite($fWrite0, $dataStringinfo);
fclose($fWrite0);
fclose($fWrite1);
fclose($fWrite2);
fclose($fWrite3);
fclose($fWrite4);
fclose($fWrite5);

简而言之,这发送了不同的“日志”不同的地方。我想知道这里是否有更简单的方法来节省空间。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-23 22:11:07

上面的注释使用一个记录器类表示,但是我认为对于这个孤立的例子来说,这个例子太过分了。

请注意,您的大部分代码都在对每个不同的文件执行相同的操作:fopenfwritefclose。这个函数调用序列将是将函数转换为函数的理想选择。幸运的是,该函数已经存在:file_put_contents

代码语言:javascript
复制
$common = " klarte orgkrim å fikk: ".$showcah." den ".$timed." \n";

$dataString2 = " $leder" . $common;
$dataString3 = " $hacker" . $common;
$dataString4 = " $driver" . $common;
$dataString5 = " $weaponexpert" . $common;
$dataStringinfo = "$leder, $hacker, $driver, $weaponexpert klarte å OC med å få ".$showcah." tid: ".$timed."\n"; 

$logdir = "/home/nordic/www/logger/orgkrim/";

file_put_contents($logdir."/completed/oversikt.txt", $dataStringinfo, FILE_APPEND);
file_put_contents($logdir."/oversikt.txt", $dataStringinfo, FILE_APPEND);
file_put_contents($logdir."/completed/$leder.txt", $dataString2, FILE_APPEND);
file_put_contents($logdir."/completed/$hacker.txt", $dataString3, FILE_APPEND);
file_put_contents($logdir."/completed/$driver.txt", $dataString4, FILE_APPEND);
file_put_contents($logdir."/completed/$weaponexpert.txt", $dataString5, FILE_APPEND);

请注意,我通过简单的更改删除了许多行:

代码语言:javascript
复制
$foo = "bla".$bar." ";
$foo .= "\n";

代码语言:javascript
复制
$foo = "bla".$bar." \n";
票数 0
EN

Stack Overflow用户

发布于 2013-07-23 22:36:46

尝试使用循环,例如:

代码语言:javascript
复制
$dsA[0] = $dsA[1] = "$leder, $hacker, $driver, $weaponexpert klarte å OC med å få $showcah tid: $timed \n";
$dsV = array($leder, $hacker, $driver, $weaponexpert);
for($i=2; $i<6; $i++){
  $dsA[$i] = " $dsV[$i] klarte orgkrim å fikk: $showcah den $timed \n";
}
$cp = 'completed';
$fwS = array('oversikt.txt', "$cp/oversikt.txt", "$cp/$leder.txt", "$cp/$hacker.txt", "$cp/$driver.txt", "$cp/$weaponexpert.txt");
foreach($fwS as $i => $v){
  $fp = fopen("/home/nordic/www/logger/orgkrim/$v", 'a');
  fwrite($fp, $dsA[$i]); fclose($fp);
}

对不起,我不会说你的语言。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17821850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档