Dalam usaha anda dengan PHP, anda telah menghadapi sekatan jalan apabila cuba memuat naik berbilang fail. Mari kita terokai cara anda boleh mengatasi cabaran ini dengan menyelidiki coretan kod yang disediakan dan menangani isu tersebut.
Fail HTML menampilkan borang dengan medan input fail yang membenarkan berbilang pilihan (berbilang=berbilang). Butang mencetuskan fungsi sendfile() apabila mengklik, memulakan proses muat naik. Fungsi sendfile() mencipta objek FormData dan berulang melalui fail yang dipilih, menambahkannya pada muatan data. Fungsi ajax() jQuery kemudiannya digunakan untuk menghantar data ke uploadfile.php untuk dikendalikan.
Fail PHP (uploadfile.php) mentakrifkan direktori sasaran dan cuba mengalihkan fail yang dimuat naik satu demi satu.
Kod yang disediakan tersilap cuba mengalihkan setiap fail yang dimuat naik satu demi satu, yang berfungsi untuk satu fail tetapi bukan untuk berbilang pilihan. Inti isu ini terletak pada pembinaan gelung for.
Pembetulan yang sesuai ialah menggunakan gelung foreach yang lebih inklusif untuk mengulangi fail yang dimuat naik. Pendekatan ini memastikan setiap fail diproses dan dialihkan ke direktori sasaran.
Untuk mencapai matlamat ini, pelarasan berikut untuk uploadfile.php diperlukan:
<code class="php">foreach ($_FILES['myfile']['name'] as $i => $name) { if (move_uploaded_file($_FILES['myfile']['tmp_name'][$i], $target . $name)) { echo 'Successfully copied'; } else { echo 'Sorry, could not copy'; } }</code>
Versi yang diperhalusi ini mengendalikan berbilang dengan betul fail dengan melelaran melalui setiap nama fail dan laluan sementara, membolehkannya dialihkan secara individu. Gelung memastikan bahawa setiap fail yang dipilih diambil kira dan dialihkan ke direktori sasaran yang ditentukan.
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk artikel dalam format soalan berdasarkan artikel anda: * **Memuat Naik Berbilang Fail dalam PHP: Mengapa `move_uploaded_file` Gagal, dan Bagaimana untuk Membetulkannya?** * **Muat Naik Fail Berbilang dengan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!