2017-09-25 1 views
0

내 웹 페이지에 모든 활동 기록을 쓰는 기능을 만들 예정입니다. Codeigniter 3x를 프레임 워크로 사용하고 있습니다. 여기에 코드가 있습니다.파일에 줄 바꿈을 추가 할 수 없음

15:20:22 | blackjack from IP 192.168.1.3 do activity login 

그러나 때

public function writeLog($loc, $user, $activity) { 
    $this->load->helper('file'); 
    date_default_timezone_set('Asia/Jakarta'); 
    $files = FCPATH . '/assets/logs/logs-' . date('Y-m-d') . ".log"; 
    $data = date("H:i:s") . " | User: " . $user . " from IP " . $loc . " do activity " . $activity . "\n"; 
    write_file($files, $data, "a"); 
} 

내가 ("로그인", "192.168.1.3", "블랙 잭") WRITELOG하여 함수를 호출하려고 해요

, 그것은 다음과 같이 작성해야 나는 결과를 다음과 같이 ("로그 아웃", "192.168.1.3", "블랙 잭") WRITELOG 다시 그 함수를 호출 : 나는 $data의 말에 "\n"를 삽입 한

15:20:22 | blackjack from IP 192.168.1.3 do activity login15:20:39 | blackjack from IP 192.168.1.3 do activity logout 

하지만, 새로운 라인 ISN 만들지 않았다.

도와주세요

+1

Windows 컴퓨터를 사용하여 로그 파일을 읽으십니까? 그렇다면 어떤 프로그램이 필요합니까? – Jite

+1

이 파일을 어떻게보고 계십니까? 메모장을 과부에 사용하고 있습니까? 웹 브라우저에서보고 있습니까? –

+1

PHP_EOL – iCoders

답변

0

다른 운영 체제는 줄 끝 문자에 다른 문자를 사용합니다. 유닉스 계열 시스템의 경우 줄 끝은 \n (LF라고 함)이고 창은 \r\n (CRLF라고 함)입니다. 대부분의 Windows 프로그램은 \n을 표시 할 수 있지만 전부는 아닙니다.
가장 좋은 방법은 PHP_EOL 상수를 사용하고 서버에서 사용할 줄 끝을 결정하도록하는 것입니다.

여분의 curiosa : Mac OSX는 LF를 사용하지만 요즘 Mac은 CR 만 사용합니다.

+1

대단히 감사합니다! 작동합니다 –

+0

가장 좋은 방법은 PHP_EOL 상수를 사용하고 서버가 사용할 줄 끝을 결정하게하는 것입니다. - 잘했다 – Bira

관련 문제