2010-07-13 3 views
7

양식을 사용하여 파일을 업로드하면 '이름'과 'tmp_name'이 나옵니다. 파일을 보관하려면 임시 위치에서 파일을 이동해야합니다. 그러나 파일이 삭제되기 전에 얼마나 오랫동안 서버에 남아 있습니까? 수동으로 폴더를 정리할 때까지 영구히 저장되어 있습니까? 아니면 제출 된 PHP 스크립트도 실행이 완료되면 삭제됩니까? 양식이 여러 페이지에 걸쳐 있으므로 양식의 각 페이지가 완료된 후에 부품을 처리하는 대신 모든 것을 끝까지 처리하고 싶었습니다. 업로드가 3 단계 중 5 단계이므로 업로드 한 파일 정보를 3 단계에서 저장했는지 여부를 묻습니다. 5 단계 이후에 파일이 계속있을 경우 파일이 계속 남아 있으면 궁금합니다.업로드 된 파일은 얼마 동안 서버에 보관됩니까?

답변

5

PHP 스크립트 제출 된 파일도

이므로 마지막 단계로 파일 업로드를 수행하거나 완료되지 않은 양식에 대한 가비지 수집기를 구현할 수 있습니다.

1

tmp 업로드 폴더에 따라 다릅니다. tmp 디렉토리 인 경우 5 단계로 진행되는 것을 실제로 신뢰할 수는 없습니다. 업로드 폴더를 제어하면 5 단계로 진행되도록 신뢰할 수 있습니다. upload_tmp_dir

+0

나에게 잘 어울립니다. 내가 예상 할 수있는 것은 사용자가 양식을 작성하지 않으면 지금은 정리가 필요하다는 것입니다. – Patrick

+1

tmp_name의 -1 파일은 요청이 끝날 때 소멸됩니다. 마크 B의 대답을 참조하십시오. – timdev

+0

@timdev, 고마워요. –

8
으로 업로드 경로를 설정할 수 있습니다.

PHP가 끔찍한 죽음을 맞이하지 않거나 파일을 보존하기 위해 조치를 취하지 않는 한, 스크립트가 종료 될 때 PHP에 의해 자동 살해됩니다. 다단계 양식을 사용하여 보존해야하는 경우 안전한 곳으로 이동 한 다음 숨겨진 양식 필드, 세션, 데이터베이스 등을 추적하고 자체 정리 시스템을 구현해야합니다. 버려진 양식의 고아 파일을 처리합니다.