이 글은 파일에서 PHP로 얻은 마지막 N줄의 데이터를 소개합니다. 이제 모든 사람과 공유하고, 도움이 필요한 친구들에게도 참고할 수 있습니다.
GitHub 소스 코드
코드는 다음 문제를 기반으로 합니다. 제공된 솔루션:
PHP를 사용하여 텍스트 파일의 마지막 $n 라인을 가져오는 함수를 작성하세요. 가능한 한 효율적이어야 하며 플랫폼 전반에 걸쳐 사용할 수 있다는 것입니다. Windows 플랫폼과 Linux 플랫폼의 파일에 일관성이 없는 종결자가 발생하는 문제는 이러한 차이점을 코드에 반영하지 않았다는 것입니다. 모두 리눅스 시스템의 코드입니다. 여전히 크로스 플랫폼 문제를 이해해야 합니까?
<?phpheader("content-type:text/html;charset=utf-8");class GetFileLastNumRow{ private $filePath; private $fileMode = 'r'; private $rowNum = 3; public function __construct(array $config) { foreach ($config as $key => $value) { $this->$key = $value; } } public function run() { try { $handle = fopen($this->filePath, $this->fileMode); fseek($handle, -1, SEEK_END); $contents = ""; $rowCount = 0; do { if (($str = fgetc($handle)) == "\n") { $rowCount++; } $contents = $str.$contents; fseek($handle, -2, SEEK_CUR); } while ($rowCount < $this->rowNum); var_export(trim($contents, "\n")); fclose($handle); } catch(\Exception $e) { var_export($e->getMessage()); } } }class Test{ public function run() { $filePath = './TestData/GetFileLastNumRow/test.data'; $getFileLastNumRow = new GetFileLastNumRow(compact('filePath')); $getFileLastNumRow->run(); } }$test = new Test();$test->run();
관련 권장 사항:
배열의 지정된 열을 가져오는 PHP 메서드사용자의 IP 주소를 가져오는 PHP 메서드위 내용은 php는 파일에서 마지막 N줄의 데이터를 가져옵니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!