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

Linda Hamilton
Lepaskan: 2024-10-26 19:34:03
asal
1080 orang telah melayarinya

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/>
Salin selepas log masuk

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]);                
}
Salin selepas log masuk

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';
    }   
// } 
Salin selepas log masuk

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'];
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan