>  기사  >  백엔드 개발  >  PHP 및 jQuery에서 다중 파일 업로드를 구현하는 방법은 무엇입니까?

PHP 및 jQuery에서 다중 파일 업로드를 구현하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-26 19:34:031007검색

How to Implement Multiple File Uploads in PHP and jQuery?

PHP 및 jQuery에서 여러 파일 업로드 처리

웹 개발 영역에서는 이미지 갤러리, 문서 등의 작업에 여러 파일을 업로드하는 기능이 필요한 경우가 많습니다. 관리 시스템 및 기타 여러 가지. 이 튜토리얼은 PHP와 jQuery를 사용하여 여러 파일 업로드를 활성화하는 과정을 안내합니다.

HTML 및 양식 설정

HTML 양식은 업로드할 파일을 선택하는 인터페이스 역할을 합니다. 여기에는 여러 파일을 선택할 수 있도록 "multiple" 속성이 설정된 "file" 유형의 입력 필드가 있습니다.

<input id="myfile" type="file" name="myfile" multiple=multiple/>

"업로드" 버튼을 클릭하면 sendfile() 함수가 onclick 이벤트 핸들러를 통해 트리거됩니다.

jQuery 및 FormData

sendfile() 함수는 jQuery를 사용하여 FormData 객체를 구성합니다. 이 개체를 사용하면 파일을 포함한 양식 데이터를 포함하여 서버 측 스크립트로 보낼 수 있습니다. 선택한 각 파일은 FormData 개체에 추가됩니다.

for (var i = 0, len = document.getElementById('myfile').files.length; i < len; i++) {
    fd.append("myfile", document.getElementById('myfile').files[i]);                
}

서버측 PHP 스크립트

서버측에서는 uploadfile.php 스크립트가 파일 업로드를 처리합니다.

<code class="php">$target = "uploadfolder/";
// for($i=0; $i <count($_FILES['myfile']['name']); $i++){
    if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target.$_FILES['myfile']['name'])) { 
        echo 'Successfully copied'; 

    }else{       
        echo 'Sorry, could not copy';
    }   
// } 

그러나 이 코드에는 여러 파일을 반복하는 루프가 없기 때문에 불완전합니다. 제공된 정답에 표시된 대로 루프를 구현해야 합니다.

예제 업데이트(답변 기반)

답변에 제공된 예에서 jQuery 코드와 HTML 구조는 다음과 같습니다. 위의 불완전한 코드와 유사합니다. 주요 차이점은 load.php 스크립트에 있습니다.

루프는 여러 파일을 처리하도록 구현되었습니다.

<code class="php">foreach ($_FILES as $key) {
    if($key['error'] == UPLOAD_ERR_OK ){
        $name = $key['name'];
        $temp = $key['tmp_name'];
        $size= ($key['size'] / 1000)."Kb";
        move_uploaded_file($temp, $path . $name);
        echo "
            <div>
                <h1>File Name: $name</h1><br />
                <h1>Size: $size</h1><br />
                <hr>
            </div>
            ";
    }else{
        echo $key['error'];
    }
}

위 내용은 PHP 및 jQuery에서 다중 파일 업로드를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.