Domanda

PHP: Output di più righe da riga di comando come righe diverse. Scusate se il titolo è difficile da capire. Fondamentalmente voglio il mio output come A, anziché B. Sembra attualmente B. Ho provato nl2br. Lo script che sto cercando di eseguire è:

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)

È stato utile?

Soluzione

perché stai usando nl2br se questo è sulla riga di comando?

nl2br genera <br /> tag per nuove righe ... che non avrebbero alcun significato sulla riga di comando

Modifica

Due cose:

1 prova

system('cd /var/www/upload/files; clamscan --remove=yes '.$furl, $scanme);

2 Puoi utilizzare exec funzione anziché sistema

per es.

exec('cd /var/www/upload/files; clamscan --remove=yes '.$furl, $scanme);
$scanme = implode("\n",$scanme);

exec (stringa $ command [, array & amp; $ output [, int & amp; $ return_var]])

Altri suggerimenti

Hai provato a stampare direttamente l'output del comando?

echo "Virus Scan Results:";
echo exec('cd /var/www/upload/files; clamscan --remove=yes '.$furl);

PS. Dovresti davvero disinfettare l'input in questo modo (se non lo stai già facendo):

$furl = escapeshellarg($furl)

escapeshellarg () - Esci da una stringa da usare come un argomento shell

Se si esegue sulla riga di comando, una nuova riga viene rappresentata come '\ n' o '\ r \ n' in un ambiente Windows. Quindi assicurati che ci sia un \ n alla fine di ogni riga e dovresti ottenere l'output che desideri. Edit:
Tom: Oops. Fisso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top