PHP ialah bahasa skrip yang digunakan secara meluas yang biasa digunakan untuk pengaturcaraan sebelah pelayan. Pemprosesan data borang yang dihantar oleh pengguna boleh dilaksanakan dengan mudah menggunakan PHP. Walau bagaimanapun, kadangkala kami menghadapi masalah sedemikian: data yang diserahkan dalam borang menggunakan format FormData tidak boleh diterima dalam kod PHP. Jadi, bagaimana untuk menyelesaikan masalah ini?
Pertama sekali, kita perlu memahami kaedah penyerahan borang dalam format FormData. FormData ialah API baharu untuk membina data borang, yang boleh mengendalikan borang yang mengandungi jenis data kompleks seperti teks, fail, data binari, dsb. Apabila menggunakan FormData untuk menyerahkan data borang, anda mesti menggunakan kaedah POST.
Sebagai contoh, kita boleh menggunakan kod berikut untuk mencipta objek FormData yang mengandungi teks dan fail:
var formData = new FormData(); formData.append('name', 'Bob'); formData.append('file', fileInput.files[0]);
Di mana 'nama' ialah nama item borang dan 'Bob' ialah Nilainya; 'fail' ialah nama kawalan muat naik fail, fileInput.files[0] ialah data fail. Anda boleh menggunakan objek XMLHttpRequest untuk menghantar objek FormData ke pelayan sebelum borang diserahkan.
Dalam PHP, biasanya tiada masalah menggunakan tatasusunan $_POST untuk menerima data yang diserahkan melalui borang. Walau bagaimanapun, jika borang menggunakan format FormData untuk menyerahkan data, anda perlu menggunakan tatasusunan $_FILES untuk menerima data. Tatasusunan $_FILES mengandungi maklumat tentang fail yang dimuat naik.
Sebagai contoh, kita boleh menggunakan kod berikut untuk menerima data yang diserahkan oleh FormData dalam PHP:
$name = $_POST['name']; $file = $_FILES['file'];
Di mana, $name ialah nilai item borang 'nama'; fail ialah nilai maklumat fail yang dimuat naik.
Jika terdapat masalah tidak menerima FormData, anda boleh mencuba penyelesaian berikut:
Ringkasan:
Untuk menerima data yang diserahkan oleh FormData dalam PHP, anda perlu menggunakan tatasusunan $_FILES dan bukannya tatasusunan $_POST. Jika terdapat masalah untuk tidak menerima FormData, anda perlu menyemak pengepala permintaan borang, konfigurasi PHP, had saiz fail muat naik, laluan muat naik fail dan tetapan lain.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php tidak dapat menerima formdata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!