Mailinglisten-Archive |
* Peter Webel:
Hallo,
freut mich, dass Du den Hinweis auf den fehlenden Realnamen beherzigt hast.
> $ct_zeilen = 50;
> $cmd = 'tail -n '.$ct_zeilen.' '.$error_log;
> $ii = 0;
> exec($cmd, $ar_tmp_log, $ii);
> $ar_log = array_reverse($ar_tmp_log);
Da Du ja sowieso schon einen Befehl ausführst, pipe den Output von tail
doch noch durch tac. Dann sparst Du dir das array_reverse. BTw: Auch
wenn $error_log aus einer sicheren Quelle stammt, ist ein Escaping nicht
verkehrt.
Ich würde das ungefähr so machen (ungetestet):
$ct_zeilen = 50;
$exitcode = null;
unset($ar_log);
$cmd = sprintf(
'tail -n %d %s | tac',
escapeshellcmd($ct_zeilen),
escapeshellcmd($error_log)
);
exec($cmd, $ar_log, $exitcode);
if(false === is_null($exitcode) || 0 !== $exitcode)
{
$now = date('r');
// operation was not successfull, trigger E_User_ERROR
trigger_error("[$now] $cmd was not successfull: $exitcode", E_USER_ERROR);
}
php::bar PHP Wiki - Listenarchive