PHP: Output multiple line command-line outputs as different lines. Sorry if the title is difficult to understand. Basically I want my output like A, instead of B. It currently looks like B. I have tried nl2br. The script I am trying to run is:
Script:
echo "Virus Scan Results:"; $scanme = system('cd /var/www/upload/files; clamscan --remove=yes '.$furl); printf(nl2br($scanme));
A:
802931t_e_s_t.txt: OK ----------- SCAN SUMMARY ----------- Known viruses: 574585 Engine version: 0.95.1 Scanned directories: 0 Scanned files: 1 Infected files: 0 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 2.352 sec (0 m 2 s) Time: 2.352 sec (0 m 2 s)
B:
802931t_e_s_t.txt: OK ----------- SCAN SUMMARY ----------- Known viruses: 574585 Engine version: 0.95.1 Scanned directories: 0 Scanned files: 1 Infected files: 0 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 2.352 sec (0 m 2 s) Time: 2.352 sec (0 m 2 s)
why are you using nl2br if this is on the command line?
nl2br outputs <br />
tags for new lines... which would have no meaning on command line
Edit
Two things:
1 try
system('cd /var/www/upload/files; clamscan --remove=yes '.$furl, $scanme);
2 You may want to use the exec function instead of system
e.g.
exec('cd /var/www/upload/files; clamscan --remove=yes '.$furl, $scanme);
$scanme = implode("\n",$scanme);
exec ( string $command [, array &$output [, int &$return_var ]] )