2012-12-11 3 views
1

0 바이트 파일에 문제가 있습니다. 때로는 무작위로 보입니다. 서버에서 0 바이트 파일을 디렉토리에 추가합니다. 이 파일은 다른 스크립트를 손상시킵니다. 수동으로 아무 문제없이 파일을 삭제할 수 있지만 서버의 매우 엄격한 제어 때문에 배치 스크립트 나 cron 작업을 실행할 수 없습니다.0 바이트 파일을 삭제하는 PHP 스크립트

필자가 생각하는 것은 누군가가 방문 할 때마다 스크립트를 실행하는 첫 페이지 (실제로는 유일한 페이지)에있는 작은 스크립트입니다. 그것은 거대한 트래픽을 얻을 수 없습니다. 스크립트는 특정 디렉토리를 대상으로하고 0 바이트 파일을 삭제합니다.

나는 파일 크기를 찾고 표시하는 것만으로 기본적인 작업을 해왔으며,별로 운이 좋지 않습니다. 나는 심지어 비슷한 문제에 대한 해결책을 찾기 위해 온라인에서 수색 했었고 나는 아무것도 발견하지 못했다.

나를 코딩 할 것을 기대하지는 않는다. (하지만 나는 꺼지지 않을 것이다!)), 누군가가 나를 0 바이트 파일 이름 만 표시하는 간단한 방법으로 도울 수 있다면 , 나는 거기에서 독자적으로 진행할 수 있을지도 모른다. 나는 나에게 의미있는 방법을 찾을 수 없다. 유감스럽게도 본질적으로 서버를 제어 할 수 없습니다.

+4

나는 더 나은 해결책은 문제의 근원에 도달하고이 파일들이 쓰여지는 것을 막을 것이라고 생각한다. –

+0

나는 그 선택권이 있었으면 좋겠지 만 불행히도 나는하지 않으며 서버 사람들은 그렇지 않을 수도 없다. 나는 아주 잠겨있는 장소에서 일하고, 우리의 작은 웹 페이지는 실제로 사이트라고 부를 수 없으며,이 특정 서버의 작은 한 가지 (그리고 우리가 사용할 수있는 유일한 서버)입니다. – user1304112

답변

2

DirectoryIterator 클래스를 사용하여 지정된 디렉토리의 파일과 unlink()의 파일을 반복 할 수 있습니다.

+0

안녕 Mike와 koopajah (이름이 koopajah 인 이전 오식에 대해 유감스럽게 생각한다). 나는 아주 가깝다. DirectoryIterator 클래스를 사용하여 간단한 스크립트를 만들었고 대상 디렉토리 내에 스크립트가 있으면 파일을 삭제할 수 있습니다. 내가해야 할 일은 스크립트를 한 단계 위로 올려 놓는 것입니다.하지만 어떻게해야할지 모르겠습니다. 원본 스크립트는 "$ iterator = new DirectoryIterator (dirname (__ FILE__));"를 사용했습니다. 그리고 지금 "$ captionsDirectory = dirname (__ FILE __)."을 시도하고 있습니다. "/ 캡션"; $ iterator = new DirectoryIterator ($ captionsDirectory); " 다른 곳에서 볼 수 있듯이, 그것은 나를 위해 일하지 않습니다. 어떤 아이디어? – user1304112