2011-01-14 6 views
1

하십시오, 사진을 업로드 한 후업로드 된 사진의 TMP에 파일 확장자가 없습니까?

, 파일은 TMP 폴더에 여전히, 나는 에코 때

$_FILES['file']['tmp_name'] 

임 예를 들어, 점점 :

/tmp/phpZnmIfT 

그래서 업로드 된 사진을 확장없이 ?! "정상"입니까, 아니면 일부 PHP GD 구성이 누락 되었습니까?

미리 감사드립니다.

답변

3

PHP는 귀하가보고있는 임시 이름을 사용하여 파일을 저장합니다. 결국 두 명 이상의 사람들이 같은 "file.doc"를 업로드 할 수 있으며, PHP가이 이름을 사용하여 서버에 저장하면 다른 파일을 덮어 씁니다.

$_FILE['file']['name']으로 원래 클라이언트 측 파일 이름을 검색 할 수 있습니다. $ _FILE 배열의 구조에 대한 자세한 내용은 here입니다.

+0

+1 수동 참조 - 어떤 사람들이 믿고 싶어하는 것과는 반대로, 원래의 클라이언트 디렉토리 경로와 파일 이름이 아니라 단지 파일 이름 –

+0

고맙게도 제멋대로의 브라우저는 경로 정보를 제거합니다. –

2

파일은 임시 (임시) 이름으로 임시 디렉토리에 업로드됩니다.

파일을 최종 위치로 이동하고 move_uploaded_file()을 사용하여 적절하게 이름을 지정해야합니다.

첫 번째 사용 예는 원하는 것입니다.

+0

임 꽤 예쁘다 ... 고마워 :) – Bobo

0

업로드에 대한 나머지 $_FILES 배열을 검사하면 원본 업로드 이름과 파일에 대한 추가 작업을 수행하는 데 사용할 수있는 업로드 된 파일의 MIME 유형이 표시됩니다 업로드 후 (이전 포스터와 마찬가지로 move_uploaded_file()을 사용하여 이동/이름 변경).

0

예 그렇습니다. 파일 유형 (MIME 유형)은 $_FILES['userfile']['type']에 저장됩니다.

관련 문제