Muat Naik Fail PHP: Mengehadkan Jenis dan Saiz Fail dengan Cekap
Dalam PHP, mengawal muat naik fail dan memastikan penerimaan jenis fail tertentu adalah penting . Seorang pengguna baru-baru ini menghadapi isu dengan kod pengesahan sedia ada mereka:
<code class="php">//check file extension and size $resume= ($_FILES['resume']['name']); $reference= ($_FILES['reference']['name']); $ext = strrchr($resume, "."); $ext1 = strrchr($reference, "."); if (!(($_FILES["resume"]["type"] == "application/doc") || ($_FILES["resume"]["type"] == "application/docx") || ($_FILES["resume"]["type"] == "application/pdf" )) && (($_FILES["reference"]["type"] == "application/doc") || ($_FILES["reference"]["type"] == "application/docx") || ($_FILES["reference"]["type"] == "application/pdf")) && (($ext == ".pdf") || ($ext == ".doc") || ($ext == ".docx")) && (($ext1 == ".pdf") || ($ext1 == ".doc") || ($ext1 == ".docx")) && ($_FILES["resume"]["size"] < 400000) //accept upto 500 kb && ($_FILES["reference"]["size"] < 400000)) { //stop user } else { // allow files to upload }</code>
Menurut pengguna, kod ini membenarkan jenis fail yang tidak dibenarkan (cth., TXT) melalui dan tidak menguatkuasakan had saiz.
Penyelesaian: Bergantung pada Jenis MIME dan Pemeriksaan Saiz yang Betul
Untuk menangani isu ini, pendekatan yang lebih mantap disyorkan:
<code class="php">function allowed_file(){ //Allowed mime-type files $allowed = array('application/doc', 'application/pdf', 'another/type'); //Validate uploaded file type if(in_array($_FILES['resume']['type'], $allowed) AND in_array($_FILES['reference']['type'], $allowed)){ //Check file size if($_FILES["resume"]["size"] < 400000 AND $_FILES["reference"]["size"] < 400000 ){ //File types and size are accepted, proceed with file processing } } }</code>
Penjelasan :
Kod yang dipertingkatkan ini menggunakan jenis MIME (Sambungan Mel Internet Serbaguna) dan bukannya sambungan fail. Jenis MIME mewakili format fail dengan tepat dan kurang terdedah kepada manipulasi. Selain itu, ia menyemak saiz fail secara berasingan untuk fail resume dan rujukan, memastikan had dikuatkuasakan.
Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Jenis dan Saiz Fail dalam Muat Naik Fail PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!