0

これを行うより良い方法はありますか?:

$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);

要するに、これはさまざまな「ログ」をさまざまな場所に送信します。スペースを節約するために、ここでこれを行う簡単な方法があるのではないかと思います。

4

2 に答える 2

0

次のようなループを使用してみてください。

$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);
}

申し訳ありませんが、私はあなたの言語を話せません。

于 2013-07-23T22:36:46.260 に答える
0

上記のコメントはロガー クラスの使用を示していましたが、この孤立した例ではやり過ぎだと思います。

コードの多くは、異なるファイルごとに同じことを行っていることに注意してください: fopenfwritefclose. この一連の関数呼び出しは、関数に変換するための理想的な候補です。幸いなことに、その関数は既に存在します: file_put_contents.

$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);

変更するだけで多くの行を削除したことに注意してください。

$foo = "bla".$bar." ";
$foo .= "\n";

$foo = "bla".$bar." \n";

于 2013-07-23T22:11:07.017 に答える