PHP : 다중 라인 명령 줄 출력을 다른 줄로 출력
-
06-07-2019 - |
문제
PHP : 다중 라인 명령 줄 출력을 다른 줄로 출력합니다. 제목을 이해하기 어려운 경우 죄송합니다. 기본적으로 나는 B 대신 A와 같은 내 출력을 원합니다. 현재 B처럼 보입니다. NL2BR을 시도했습니다. 내가 실행하려는 대본은 다음과 같습니다.
스크립트:
echo "Virus Scan Results:"; $scanme = system('cd /var/www/upload/files; clamscan --remove=yes '.$furl); printf(nl2br($scanme));
ㅏ:
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)
비:
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)
해결책
명령 줄에있는 경우 NL2BR을 사용하는 이유는 무엇입니까?
NL2BR 출력 <br />
새로운 라인에 대한 태그 ... 명령 줄에 의미가 없을 것입니다.
편집하다
두가지:
1 노력하다
system('cd /var/www/upload/files; clamscan --remove=yes '.$furl, $scanme);
2 사용하고 싶을 수도 있습니다 exec 시스템 대신 기능
예를 들어
exec('cd /var/www/upload/files; clamscan --remove=yes '.$furl, $scanme);
$scanme = implode("\n",$scanme);
exec (String $ command [, array & $ output [, int & $ return_var]]))))
다른 팁
명령의 출력을 직접 인쇄 한 적이 있습니까?
echo "Virus Scan Results:";
echo exec('cd /var/www/upload/files; clamscan --remove=yes '.$furl);
추신. 당신은 실제로 그렇게 입력을 소독해야합니다 (아직 그렇게하지 않은 경우) :
$furl = escapeshellarg($furl)
ESCAPESHELLARG () - 쉘 인수로 사용할 문자열을 탈출
CommandLine에서 실행중인 경우 Newline은 Windows 환경에서 ' n'또는 ' r n'으로 표시됩니다. 따라서 각 라인의 끝에 A N이 있는지 확인하고 원하는 출력을 가져와야합니다. 편집하다:
톰 : 죄송합니다. 결정된.
제휴하지 않습니다 StackOverflow