PHP를 통해 서버에 파일을 업로드할 수 있습니다.
파일 업로드 양식
만들기
사용자가 폼에서 파일 업로드를 허용 하는 것이 유용 합니다.
파일 업로드를 위한이 HTML 양식에서 한 번 보세요:
< html >< 몸 >< 행동 양식 "upload_file.php" 방법 = "게시" enctype = "Multipart/폼-데이터" = >< = "파일"에 대 한 레이블 > 파일 이름: < / 라벨 >< 입력 유형 = "파일" "파일" id = "파일" = / >< br / >< 입력 유형 = "Submit" 이름 값 "제출" = = "제출" / >< / >< / 바디 >< / html >
이 폼에 대 한 다음 정보를 note 하시기 바랍니다.
< 양식 > 라벨의 Enctype 속성 양식을 제출할 때 사용 하는 콘텐츠 종류를 규정 한다. "Multipart/폼-데이터"를 사용 하 여 양식을 파일의 내용과 같은 이진 데이터를 필요로 할 때.
유형 = "파일" < 입력 > 라벨의 특성 규정 입력 파일로 취급 한다. 예를 들어 브라우저에서 미리 보기 입력된 상자 옆에 있는 탐색 단추를 표시 됩니다.
참고: 사용자가 파일을 업로드 하도록 허용은 거 대 한 보안 위험입니다. 신뢰할 수 있는 사용자가 파일 업로드 작업을 수행 하도록 허용 합니다.
생성 스크립트
를 업로드
"Upload_file.php" 파일에는 파일을 업로드 하기 위한 코드가 포함 되어 있습니다.
<? php ($_files ["파일이"] ["오류"] > 0) {에코 ' 오류: '. $ _files ["파일" ["오류"]. "< br / >"; 다른 {echo "업로드:". $ _files ["파일" ["이름"]. "< br / >"; 에코 "종류:". $ _files ["파일" ["유형"]. "< br / >"; 에코 "크기:". ($_files ["파일"] ["크기"] / 1024). "Kb < br / >"; 에코 "에 저장 된:". $ _files ["파일" ["Tmp_name"]; }? >
PHP의 전역 배열 $_files를 사용 하 여 원격 서버에 클라이언트 컴퓨터에서 파일을 업로드할 수 있습니다.
첫 번째 매개 변수는 폼의 입력된 이름 하 고 두 번째 아래 첨자는 "이름", "유형", "크기", "tmp_name", 또는 "오류" 될 수 있습니다. 이런 식으로:
$_files ["파일" ["이름"]-업로드 된 파일 $_files의 이름 ["파일" ["유형"]-파일의 유형을 업로드 $_files ["파일" ["크기"]-바이트 $_fil에 업로드 되는 파일의 크기 es ["파일" ["Tmp_name"]-서버 $_files에 저장 된 파일의 임시 복사본의 이름을 ["파일" ["오류"]-파일 업로드
에 의해 발생 하는 오류 코드
이 파일을 업로드 하는 매우 간단한 방법입니다. 보안을 위해 파일을 업로드할 수 있는 권한이 사용자에 대해 제한을 늘려야 합니다.
업로드 제한
이 스크립트에서 우리는 파일 업로드에 제한을 추가. 사용자 수만 업로드. gif 또는. jpeg 파일, 파일 크기 KB 보다 작아야:
<? php 경우 (($_files [["유형"] "파일" = = "이미지/gif") | | ($_files ["파일"] ["유형"] = "Image/jpeg") | | ($_files ["파일"] ["유형"] = "이미지/pjpeg") & & ($_files ["파일"] ["크기"] < 20000) {($_files ["파일이"] ["오류"] > 0) {에코 ' 오류: '. $ _files ["파일" ["오류"]. "< br / >"; 다른 {echo "업로드:". $ _files ["파일" ["이름"]. "< br / >"; 에코 "종류:". $ _files ["파일" ["유형"]. "< br / >"; 에코 "크기:". ($_files ["파일"] ["크기"] / 1024). "Kb < br / >"; 에코 "에 저장 된:". $ _files ["파일" ["Tmp_name"]; } else {에코 "잘못 된 파일";}? >
참고: IE, 인식 JPG 파일 유형의 수 있어야 합니다 pjpeg, 파이어 폭스, JPEG 되어야 합니다.
업로드 된 파일
저장
위의 예제에서는 서버의 PHP Temp 폴더에 업로드 된 파일의 임시 복사본을 만듭니다.
이 임시 복사본 파일 스크립트의 끝에 사라집니다. 업로드 된 파일을 저장 해야 다른 위치로 복사:
<? php 경우 (($_files [["유형"] "파일" = = "이미지/gif") | | ($_files ["파일"] ["유형"] = "Image/jpeg") | | ($_files ["파일"] ["유형"] = "이미지/pjpeg") & & ($_files ["파일"] ["크기"] < 20000) {($_files ["파일이"] ["오류"] > 0) {echo "반환 코드:". $ _files ["파일" ["오류"]. "< br / >"; 다른 {echo "업로드:". $ _files ["파일" ["이름"]. "< br / >"; 에코 "종류:". $ _files ["파일" ["유형"]. "< br / >"; 에코 "크기:". ($_files ["파일"] ["크기"] / 1024). "Kb < br / >"; echo "임시 파일:". $ _files ["파일" ["Tmp_name"]. "< br / >"; 경우 (file_exists ("업로드 /". $_files ["파일" ["이름"]) {$_files ["파일"] ["이름"] 에코. "이미 존재합니다." 다른 {move_uploaded_file ($_files ["파일"] ["Tmp_name"], "업로드 /". $_files ["파일" ["이름"]); 에코 "에 저장 된:". " 업로드 / ". $ _files ["파일" ["이름"]; }} 다른 {에코 "잘못 된 파일";}? >
위의 스크립트 감지 경우 파일이 이미 존재 하 고, 그렇지 않으면 지정된 된 폴더에 파일을 복사 합니다.
참고:이 예제에서는 "업로드" 라는 새 폴더에 파일을 저장 합니다.