Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengehadkan Jenis dan Saiz Fail dalam Muat Naik Fail PHP?

Bagaimana untuk Mengehadkan Jenis dan Saiz Fail dalam Muat Naik Fail PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-01 04:58:02697semak imbas

How to Restrict File Types and Size in PHP File Uploads?

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!

Kenyataan:
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