PHP 서버 소스 코드에 파일 업로드

출처: 인터넷
작성자: 사용자
키워드: 웹 프로그래밍 PHP는 자습서

PHP를 통해 서버에 파일을 업로드할 수 있습니다.

파일 업로드 양식

만들기

사용자가 폼에서 파일 업로드를 허용 하는 것이 유용 합니다.

파일 업로드를 위한이 HTML 양식에서 한 번 보세요:

< html >< 몸 >< 행동 양식 "upload_file.php" 방법 = "게시" enctype = "Multipart/폼-데이터" = >< = "파일"에 대 한 레이블 > 파일 이름: < / 라벨 >< 입력 유형 = "파일" "파일" id = "파일" = / >< br / >< 입력 유형 = "Submit" 이름 값 "제출" = = "제출" / >< / >< / 바디 >< / html >

이 폼에 대 한 다음 정보를 note 하시기 바랍니다.

< 양식 > 라벨의 Enctype 속성 양식을 제출할 때 사용 하는 콘텐츠 종류를 규정 한다. "Multipart/폼-데이터"를 사용 하 여 양식을 파일의 내용과 같은 이진 데이터를 필요로 할 때.

유형 = "파일" < 입력 > 라벨의 특성 규정 입력 파일로 취급 한다. 예를 들어 브라우저에서 미리 보기 입력된 상자 옆에 있는 탐색 단추를 표시 됩니다.

참고: 사용자가 파일을 업로드 하도록 허용은 거 대 한 보안 위험입니다. 신뢰할 수 있는 사용자가 파일 업로드 작업을 수행 하도록 허용 합니다.

생성 스크립트

를 업로드

"Upload_file.php" 파일에는 파일을 업로드 하기 위한 코드가 포함 되어 있습니다.

&lt;? php ($_files ["파일이"] ["오류"] &gt; 0) {에코 ' 오류: '. $ _files ["파일" ["오류"]. "&lt; br / &gt;"; 다른 {echo "업로드:". $ _files ["파일" ["이름"]. "&lt; br / &gt;"; 에코 "종류:". $ _files ["파일" ["유형"]. "&lt; br / &gt;"; 에코 "크기:". ($_files ["파일"] ["크기"] / 1024). "Kb &lt; br / &gt;"; 에코 "에 저장 된:". $ _files ["파일" ["Tmp_name"]; }? &gt;

PHP의 전역 배열 $_files를 사용 하 여 원격 서버에 클라이언트 컴퓨터에서 파일을 업로드할 수 있습니다.

첫 번째 매개 변수는 폼의 입력된 이름 하 고 두 번째 아래 첨자는 "이름", "유형", "크기", "tmp_name", 또는 "오류" 될 수 있습니다. 이런 식으로:

$_files ["파일" ["이름"]-업로드 된 파일 $_files의 이름 ["파일" ["유형"]-파일의 유형을 업로드 $_files ["파일" ["크기"]-바이트 $_fil에 업로드 되는 파일의 크기 es ["파일" ["Tmp_name"]-서버 $_files에 저장 된 파일의 임시 복사본의 이름을 ["파일" ["오류"]-파일 업로드

에 의해 발생 하는 오류 코드

이 파일을 업로드 하는 매우 간단한 방법입니다. 보안을 위해 파일을 업로드할 수 있는 권한이 사용자에 대해 제한을 늘려야 합니다.

업로드 제한

이 스크립트에서 우리는 파일 업로드에 제한을 추가. 사용자 수만 업로드. gif 또는. jpeg 파일, 파일 크기 KB 보다 작아야:

&lt;? php 경우 (($_files [["유형"] "파일" = = "이미지/gif") | | ($_files ["파일"] ["유형"] = "Image/jpeg") | | ($_files ["파일"] ["유형"] = "이미지/pjpeg") &amp; &amp; ($_files ["파일"] ["크기"] &lt; 20000) {($_files ["파일이"] ["오류"] &gt; 0) {에코 ' 오류: '. $ _files ["파일" ["오류"]. "&lt; br / &gt;"; 다른 {echo "업로드:". $ _files ["파일" ["이름"]. "&lt; br / &gt;"; 에코 "종류:". $ _files ["파일" ["유형"]. "&lt; br / &gt;"; 에코 "크기:". ($_files ["파일"] ["크기"] / 1024). "Kb &lt; br / &gt;"; 에코 "에 저장 된:". $ _files ["파일" ["Tmp_name"]; } else {에코 "잘못 된 파일";}? &gt;

참고: IE, 인식 JPG 파일 유형의 수 있어야 합니다 pjpeg, 파이어 폭스, JPEG 되어야 합니다.

업로드 된 파일

저장

위의 예제에서는 서버의 PHP Temp 폴더에 업로드 된 파일의 임시 복사본을 만듭니다.

이 임시 복사본 파일 스크립트의 끝에 사라집니다. 업로드 된 파일을 저장 해야 다른 위치로 복사:

&lt;? php 경우 (($_files [["유형"] "파일" = = "이미지/gif") | | ($_files ["파일"] ["유형"] = "Image/jpeg") | | ($_files ["파일"] ["유형"] = "이미지/pjpeg") &amp; &amp; ($_files ["파일"] ["크기"] &lt; 20000) {($_files ["파일이"] ["오류"] &gt; 0) {echo "반환 코드:". $ _files ["파일" ["오류"]. "&lt; br / &gt;"; 다른 {echo "업로드:". $ _files ["파일" ["이름"]. "&lt; br / &gt;"; 에코 "종류:". $ _files ["파일" ["유형"]. "&lt; br / &gt;"; 에코 "크기:". ($_files ["파일"] ["크기"] / 1024). "Kb &lt; br / &gt;"; echo "임시 파일:". $ _files ["파일" ["Tmp_name"]. "&lt; br / &gt;"; 경우 (file_exists ("업로드 /". $_files ["파일" ["이름"]) {$_files ["파일"] ["이름"] 에코. "이미 존재합니다." 다른 {move_uploaded_file ($_files ["파일"] ["Tmp_name"], "업로드 /". $_files ["파일" ["이름"]); 에코 "에 저장 된:". " 업로드 / ". $ _files ["파일" ["이름"]; }} 다른 {에코 "잘못 된 파일";}? &gt;

위의 스크립트 감지 경우 파일이 이미 존재 하 고, 그렇지 않으면 지정된 된 폴더에 파일을 복사 합니다.

참고:이 예제에서는 "업로드" 라는 새 폴더에 파일을 저장 합니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.