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.
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.
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]); }
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.
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!