2012-10-23 2 views
4

PHP에서 업로드 된 tmp 파일 이름은 어떻게 생성됩니까? 그것의 메커니즘은 무엇입니까? 나는 그들이 항상 독특하다는 것에 의지 할 수 있습니까?PHP에서 tmp 파일 이름은 어떻게 생성됩니까?

문제는 모든 업로드 된 파일을 하나의 const 디렉토리에 복사하고 서버 실행 기록에 tmp 이름이 다시 생길지 확실하지 않다는 것입니다.

+0

내부 임시 이름을 사용하지 말고 [uniqid()] (http://php.net/manual/en/function.uniqid.php) –

+0

과 같은 것으로 임시 이름을 만드십시오. ... 임시 직원. 업로드를 처리하는 동안 서버 수명 동안 고유 한 서버에 의존해서는 안됩니다. –

답변

1

궁극적으로 PHP가 생성 한 임시 파일 이름은 mkstemp/mktemp이라는 함수를 사용하여 파일 이름이 고유 한 것으로 보장합니다. 생성하는 파일 이름이 이미 존재하면 존재하지 않는 파일 이름을 생성하기 위해 여러 번 시도합니다.

Windows에서 PHP는 고유성에 대해 동일한 보증을하는 GetTempFileName을 사용합니다.

두 경우 모두 함수가 고유 한 파일 이름을 반환 할 수없는 경우 오류 값을 반환하고 PHP는 파일 이름을 전혀 반환하지 않습니다.

관련 문제