2015-01-14 2 views
0

첫 번째로 나는이 문제에 대해 매우 유감스럽게 생각합니다. 제가 디버그 데이터를 기록하고 싶습니다. 내 프로젝트를 통해 webrequest 내 사이트에 정보를 저장 $ msg 다음 내 logfile.log 사이트에 데이터를 쓰고 싶습니다. fopen fwrite fclose를 처음 사용했지만 file_put_contents가 더 좋을 것이라고 들었습니다. 특히 한 번에 여러 사용자가 파일에 쓰려고 할 가능성이 높기 때문에 이 좋습니다. 다음은 코드입니다 :PHP를 사용하여 로그 파일에 쓰기

$msg = $_GET['w']; 
$logfile= 'logfile.log'; 
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX); 

그러나 코드를 짐작대로 내가하면 fopen에 fwrite FCLOSE 작업을 가지고하지만 난 새로운 라인에 각 사용자를 추가하고 싶었 나 위해 아무것도하지 않습니다.

스마트 한 두뇌가 있다면 저에게 도움이 될 것입니다.

감사합니다.

EDIT : @Jay 이 난 (첫번째 라인을 개방 PHP)을 적용하려고 어떻게 EDIT : 인해 복사/붙여 넣기 오류 코드에서 "태그"제거.

error_reporting(E_ALL); ini_set('display_errors', 1) 
$msg = $_GET['w']; 
$logfile= 'logfile.log'; 
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX); 
+2

인지 사실이다; ini_set ('display_errors', 1);'일어날 수있는 일을 추측 할 수있는 충분한 정보가 게시물에 없습니다. 오류 로그를 보았습니까? –

+0

@JayBlanchard 로그 파일 작성과 관련이 없습니다. –

+0

어딘가에 오류가있는 것 같습니다 ("코드가 나에게 아무런 도움이되지 않습니다") @HoboSapiens와 나는 오류가 OP의 문제를 해결하는 데 도움이된다는 것을 알고있었습니다. –

답변

0

error_log()을 사용하지 않는 이유는 무엇입니까?

$message = $_GET['w']; 
$logfile = 'logfile.log'; 

// Debug: A line for verifying I have the message 
echo "Writing message '$message' to logfile<br>"; 

error_log($message."\n", 3, $logfile); 

// Debug: read back the log file to verify thatthe line has been written 
readfile($logfile); 

참고이 작업을 수행하지 않는 error_log()으로 메시지에 추가 된 newline : 3 (두 번째 매개 변수)로 설정 message_type으로 메시지가 세 번째 매개 변수에 지정된 파일에 기록됩니다.

또한 웹 서버가 대상 파일에 쓸 수 있도록 사용 권한을 설정해야합니다. ?이 error_log() 또는 file_put_contents()를 사용하여

PHP 참조가 바로 개방` here

+2

이것은 응용 프로그램의 파일이 아니라 PHP의 로그에 메시지를 넣습니다. – Barmar

+1

@Barmar 아니요 - 두 번째 매개 변수는 메시지 유형을 결정합니다. 3으로 설정하면 세 번째 매개 변수에 지정된 파일에 메시지가 기록됩니다. 내가 링크 된 참고 자료를 읽으십시오. –

+0

그것은 나에게 "0"을줍니다. –

관련 문제