Is there a better way of doing this?:
$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 .= "
";
$dataString2 .= "
";
$dataString3 .= "
";
$dataString4 .= "
";
$dataString5 .= "
";
$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);
In short, this sends the various "logs" different places. I wonder if there is any easier way to do this here, to save space.
Comments above indicated using a logger class, but I think for this isolated example that would be overkill.
Note that much of your code is doing the same thing for each different file: fopen
, fwrite
, fclose
. This sequence of function calls would be an ideal candidate for turning into a function. Luckily for you, that function already exists: file_put_contents
.
$common = " klarte orgkrim å fikk: ".$showcah." den ".$timed."
";
$dataString2 = " $leder" . $common;
$dataString3 = " $hacker" . $common;
$dataString4 = " $driver" . $common;
$dataString5 = " $weaponexpert" . $common;
$dataStringinfo = "$leder, $hacker, $driver, $weaponexpert klarte å OC med å få ".$showcah." tid: ".$timed."
";
$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);
Note that I removed many lines by simply changing:
$foo = "bla".$bar." ";
$foo .= "
";
to
$foo = "bla".$bar."
";
Try using loops, like:
$dsA[0] = $dsA[1] = "$leder, $hacker, $driver, $weaponexpert klarte å OC med å få $showcah tid: $timed
";
$dsV = array($leder, $hacker, $driver, $weaponexpert);
for($i=2; $i<6; $i++){
$dsA[$i] = " $dsV[$i] klarte orgkrim å fikk: $showcah den $timed
";
}
$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);
}
Sorry, I don't speak your language.