Explode each file once, don't do it for every stream read

This commit is contained in:
Mikko Ahlroth 2013-09-11 10:32:44 +03:00
parent 5e08bc538e
commit 71bfb44ef7

View file

@ -20,7 +20,7 @@ if (count($files) == 0)
foreach ($files as $file) foreach ($files as $file)
{ {
$newkey = basename($file); $newkey = explode('.', basename($file))[0];
$pipes[$newkey] = popen(sprintf(TAIL_CMD, escapeshellarg($file)), 'r'); $pipes[$newkey] = popen(sprintf(TAIL_CMD, escapeshellarg($file)), 'r');
stream_set_blocking($pipes[$newkey], 0); stream_set_blocking($pipes[$newkey], 0);
@ -38,7 +38,6 @@ while (true)
{ {
foreach ($read as $file => $pipe) foreach ($read as $file => $pipe)
{ {
$file = explode('.', $file)[0];
while ($line = fgets($pipe)) while ($line = fgets($pipe))
{ {
echo $file, ': ', $line; echo $file, ': ', $line;