2012-07-10 4 views
0

javascript/php로 매 X 시간마다 로그 파일을 지우시겠습니까? 이것이 가능합니까? 그렇다면이 코드를 실행하는 데 필요한 코드를 고안하는 데 도움이 될 수 있습니까? 고맙습니다.javascript/php를 사용하여 로그 파일을 지우려면 어떻게합니까?

+0

글쎄, 맞습니까? 자바 스크립트 또는 PHP? –

+1

'file_put_contents ($ logfile, '');'또는'var logfile = '''입니다. JS 자체는 var이므로, JS 자체에는 파일 기능이 없습니다. –

+1

대신 로그 파일을 회전하여 적어도 며칠 전에 뭔가를 찾아 볼 것을 권장합니다. – Brad

답변

1

로그 파일이 웹 서버에있는 경우 자바 스크립트로 직접 작업 할 수 없습니다. 자바 스크립트에서 해당 PHP 사이트를 호출 할 수 있지만 PHP로해야합니다.

그냥 사용 PHP에서 파일을 삭제 : 할

unlink('your_file_name.log'); 

http://www.php.net/manual/de/function.unlink.php

가장 쉬운 것은 설정에에 cronjob를 실행 할 수있는 방법이 없다면, 그냥을하는 cron 작업이 될 것입니다 당신의 webspace 그러나 다음 최상의 옵션은 각 사이트 액세스에서 파일의 나이를 확인하고 $ x 시간보다 오래된 경우 삭제하는 것입니다. 이는 filectime()을 통해 파일 생성 타임 스탬프를 가져 와서 time()에 의해 반환 된 현재 타임 스탬프와 비교하여 수행 할 수 있습니다. 차이가 $ x 시간 이상이라면 연결 해제하십시오.

$filename = '/path/to/your/file.log'; 
if(time() - filectime($filename) > $x * 3600) unlink($filename); // multiply by 3600 'cause times are in seconds 
+0

@brad 감사합니다.하지만 매 X 시간마다이 작업을 수행하도록 설정하는 방법은 무엇입니까? – user1516274

+0

@user : 항상 모든 X 시간마다 또는 특정 PHP 사이트가 현재 사용 중이거나 표시되는 경우에만 발생해야합니까? specificig 응답을 제공하는 중요한 질문은 서버에 어떤 권리가 있습니까? 그것은 당신의 기계입니까 아니면 웹 공간을 임대 했습니까? – inVader

+0

x 시간마다 양호합니다 – user1516274

4

나는 로그가 자주 나는 당신이 클라이언트 측 맥락에서 여기에 언급하는 가정입니다 자바 스크립트, 함께 보관하지 않는 한 당신은, PHP를 포함 대답을 선호을 가정합니다.

간단히 file_put_contents을 사용합니다. 완성도를 위해서

file_put_contents('/the/path/of/your/log/file.log', ''); 

, 당신은 fs.writeFile를 사용하여 Node.js를 동일한 작업을 수행합니다.

fs.writeFile("/the/path/of/your/log/file.log", ""); 
+0

나는 javascript 나 php에 정통하지 않기 때문에 약간 혼란 스럽다. 소스는 saabhirgill.com/chat/index.php입니다. saabhirgill.com/chat/log.html x 시간마다 지우고 싶습니다. – user1516274

+0

@ user1516274 cronjobs를 조사하면 모든 x가 실행되는 스크립트를 설정할 수 있습니다. 시간, 분 또는 무엇을 말 하든지간에. – Mahn

+0

@ user1516274 : 파일 매개 변수를 지우고 * x * 시간마다 정리 스크립트를 실행하는 예약 된 작업을 만듭니다. 또한 단순히 실험 프로젝트가 아니라면 데이터베이스를 사용하고 타임 스탬프 필드를 포함하는 것이 좋습니다. –

관련 문제