Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Muat Naik Berbilang Fail dalam PHP dan jQuery?

Bagaimana untuk Melaksanakan Muat Naik Berbilang Fail dalam PHP dan jQuery?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 19:34:031007semak imbas

How to Implement Multiple File Uploads in PHP and jQuery?

Mengendalikan Muat Naik Berbilang Fail dalam PHP dan jQuery

Dalam bidang pembangunan web, keupayaan untuk memuat naik berbilang fail selalunya diperlukan untuk tugasan seperti galeri imej, dokumen sistem pengurusan, dan lain-lain lagi. Tutorial ini akan membimbing anda melalui proses mendayakan berbilang muat naik fail menggunakan PHP dan jQuery.

Tetapan HTML dan Borang

Borang HTML berfungsi sebagai antara muka di mana fail akan dipilih untuk dimuat naik. Di sini, kami mempunyai medan input jenis "fail" dengan atribut "berbilang" ditetapkan untuk membenarkan pemilihan fail berbilang:

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

Apabila butang "Muat Naik" diklik, fungsi sendfile() adalah dicetuskan melalui pengendali acara onclick.

jQuery dan FormData

Fungsi sendfile() menggunakan jQuery untuk membina objek FormData. Objek ini membenarkan kemasukan data borang, termasuk fail, dihantar ke skrip sebelah pelayan. Setiap fail yang dipilih dilampirkan pada objek FormData:

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

Skrip PHP Bahagian Pelayan

Di bahagian pelayan, skrip uploadfile.php mengendalikan muat naik fail:

<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';
    }   
// } 

Walau bagaimanapun, kod ini tidak lengkap kerana ia tiada gelung untuk lelaran pada berbilang fail. Anda perlu melaksanakan gelung seperti yang ditunjukkan dalam jawapan yang betul yang disediakan.

Contoh Kemas Kini (Berdasarkan Jawapan)

Dalam contoh yang disediakan dalam jawapan, kod jQuery dan struktur HTML adalah serupa dengan kod yang tidak lengkap di atas. Perbezaan utama terletak pada skrip load.php:

Gelung telah dilaksanakan untuk mengendalikan berbilang fail.

<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'];
    }
}

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Muat Naik Berbilang Fail dalam PHP dan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn