PHP: Ausgabe von Multi-line-command-line-Ausgänge als verschiedene Linien
PHP: Ausgabe von Multi-line-command-line-Ausgänge als verschiedene Linien.
Sorry, wenn der Titel schwer zu verstehen ist. Im Grunde möchte ich meine Ausgabe wie A, statt des B. Es derzeit aussieht B. ich habe versucht, nl2br. Das Skript, das ich versuche zu laufen ist:
Skript:
echo "Virus-Scan-Ergebnis:"; $scanme = system ("cd /var/www/upload/files; clamscan --remove=yes '.$furl); printf(nl2br($scanme));
A:
802931t_e_s_t.txt: OK ----------- SCAN-ZUSAMMENFASSUNG ----------- Bekannte Viren: 574585 Engine-version: 0.95.1 Durchsuchte Verzeichnisse: 0 Gescannte Dateien: 1 Infizierte Dateien: 0 Daten gescannt: 0.00 MB Daten Lesen: 0.00 MB (ratio 0.00:1) Zeit: 2.352 sec (0 m 2 s) Zeit: 2.352 sec (0 m 2 s)
B:
802931t_e_s_t.txt: OK ----------- SCAN-ZUSAMMENFASSUNG ----------- Bekannte Viren: 574585 Engine-version: 0.95.1 Scanned directories: 0 Scanned files: 1 Infizierte Dateien: 0 Daten gescannt: 0.00 MB Daten Lesen: 0.00 MB (ratio 0.00:1) Zeit: 2.352 sec (0 m 2 s) Zeit: 2.352 sec (0 m 2 s)
Du musst angemeldet sein, um einen Kommentar abzugeben.
warum bist du mit nl2br wenn das auf der Kommandozeile?
nl2br Ausgänge
<br />
- tags für die neuen Linien... das würde keinen Sinn auf der KommandozeileBearbeiten
Zwei Dinge:
1 versuchen
2 Sie verwenden möchten, können Sie die exec - Funktion anstelle von system
z.B.
exec ( string $Befehl [, array &$Ausgabe [, int &$return_var ]] )
Haben Sie versucht, nur drucken Sie die Ausgabe des Befehls direkt?
PS. Sollten Sie wirklich desinfizieren Sie die Eingabe so (wenn Sie nicht tun, auch schon so):
escapeshellarg() - Escape-string verwendet werden als shell-argument
Wenn Sie ausgeführt werden, die über die Kommandozeile, ein Zeilenumbruch wird dargestellt als '\n' oder '\r\n' in einer Windows-Umgebung. So stellen Sie sicher, es ist ein \n am Ende jeder Zeile, und Sie sollten die Ausgabe, die Sie wollen.
Edit:
Tom: Hoppla. Behoben.