Rumah > pangkalan data > tutorial mysql > 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
Lepaskan: 2024-11-01 04:58:02
asal
786 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan