2012-02-02 2 views
3

알았어, 다음은 시작입니다.PHP를 사용하여 외부 FTP 업로드 모니터링

저는 주로 PHP와 jQuery로 비디오 호스팅 사이트를 개발하고 있습니다. 내 클라이언트는 Filezilla를 사용하여 PHP로 직접 업로드를 처리하는 대신 FTP를 통해 자신의 비디오를 업로드하도록 절대적으로 설정됩니다. 이것은 나를 약간 정신병자로 만들지 만, 이봐, 돈 남자가 총을 부른다.

FTP 업로드 완료를 감지 할 수있는 방법이 없으므로 uploads 디렉토리에 뿌리를 둔 특수 FTP 계정을 설정하고 해당 폴더를 모니터링하는 인터페이스를 설계하여 해당 코드를 트랜스 코딩 할 수 있도록했습니다 그의 재량에 따라 웹용 파일 이것은 최적보다 적습니다. 현재 모바일 앱에서 업로드를 처리하는 진행 상황을 보여주고 FTP 전송이 완료되면 자동으로 파일 인코딩을 시작하겠습니다.

그래서 내가 정말로 요구하는 것은 파일이 여전히 업로드되고 있다는 것을 감지하는 방법이거나 비교할 수 있도록 업로드되는 원본 파일의 크기를 찾는 방법입니다.

감사합니다.

+0

어떤 OS입니까? 유닉스에서는'fuser'를 사용하여 파일이 현재 프로세스에 의해 사용 중인지를 알 수 있습니다. 이것은 아마 아직 업로드 중임을 의미합니다. –

+0

우분투 11.04에 있습니다. 나는 이것을 고찰 할 것이다, 고마워! –

+0

@MarcB 좋아요. 저는 현재 퓨저를 사용하여 업로드를 처리하고 있음을 감지 할 수 있다고 확신합니다. 업로드가 완료되면 자동으로 트랜스 코드 프로세스를 시작할 수 있어야하므로 좋은 소식입니다. 파일의 전체 크기는 모바일 앱이 진행 상황을 보여줌으로써 원격으로 모니터 할 수 있도록 다른 목적을 위해 기념비적으로 도움이 될 것입니다. 다시 한 번 감사드립니다! –

답변

4

Linux에서는 fuser을 사용하여 파일이 프로세스에서 사용 중인지 확인할 수 있습니다. 보다 안정적인 옵션은 inotify 시스템을 사용하는 것으로 파일 변경 이벤트에 대한 실시간 알림을 제공합니다.

1

누군가 다른 사람이 궁금해하는 경우, 댓글을 통해 도달 한 질문에 대한 대답과 확인을 위해 더 많은 연구가 이루어 지므로 FTP 전송 중에 파일의 전체 크기가 서버로 전달되지 않습니다. Jonathan Amend에게 감사드립니다.