나는 매우 큰 파일과 5GB의 csv 파일을 가지고 있으며 PHP exec 메소드를 사용하여 사용자에게 보여주고 싶습니다.PHP exec와 리눅스 터미널에서 같은 명령을 실행합니다.
내가 대신 모든 라인의 특정 줄 번호 (라인 21 ~ 30)을 읽을 수있는 리눅스 명령을 사용하는 것을 시도했다:
이mycprogram largefile.csv | sed -n "21,30p;30q"
바로 명령 후에 라인의 정확한 수를 반환 단자를 입력 . 그러나, 나는 PHP를 exec에서 비슷한 명령을 사용할 때, 그것은 내가 원하는 줄 번호를 얻으려면 sed
에 들어가기 전에 (매우 오랜 시간이 걸립니다) 메모리에 완전히로드 된 첫 번째 부분 (mycprogram largefile.csv
) 기다릴 것입니다.
$cmd = "mycprogram largefile.csv | sed -n '21,30p;30q'";
exec($cmd, $output);
내가 완전히로드에 mycprogram
을 기다리지 않고 PHP 방법을 사용하여 나는 그것의 출력 단자에서 얻을 정확히 무엇을 얻을 수있는 모든 아이디어 : PHP 코드는 뭔가처럼?
감사 어떻게
db로 가져 오기, 제안 사항에 대해 –