Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengesan Apabila Muat Naik Fail Melebihi Had `post_max_size` PHP?

Bagaimana untuk Mengesan Apabila Muat Naik Fail Melebihi Had `post_max_size` PHP?

Susan Sarandon
Lepaskan: 2024-11-21 09:34:12
asal
898 orang telah melayarinya

How to Detect When File Uploads Exceed PHP's `post_max_size` Limit?

Mengendalikan Muat Naik Fail Melebihi post_max_size PHP

Apabila mengendalikan muat naik fail dengan PHP, melebihi had post_max_size boleh menimbulkan cabaran. Tidak seperti upload_max_filesize, yang mengembalikan saiz fail 0 untuk fail bersaiz besar, post_max_size mungkin menyebabkan skrip anda gagal secara senyap tanpa sebarang mesej ralat.

Cara Mengesan Ralat Had Saiz Fail

1. Semak Superglobals Kosong:

Menurut dokumentasi PHP, jika data siaran melebihi post_max_size, superglobal $_POST dan $_FILES akan kosong. Anda boleh mengesan ini dengan menghantar parameter pertanyaan kepada borang yang hanya akan ditetapkan apabila $_POST tidak kosong.

if (isset($_GET['processed'])) {
    // Perform file upload processing
} else {
    // Display blank form
}
Salin selepas log masuk

2. Bandingkan dengan $_SERVER['CONTENT_LENGTH']:

Pendekatan lain ialah membandingkan pengepala CONTENT_LENGTH, yang merangkumi bukan sahaja data fail tetapi juga jujukan berbilang bahagian, dengan tetapan post_max_size.

if ($_SERVER['CONTENT_LENGTH'] > ini_get('post_max_size')) {
    // Error handling for oversized file
}
Salin selepas log masuk

Nota: Kaedah ini membolehkan anda mengesan fail bersaiz besar tanpa PHP menghasilkan ralat. Walau bagaimanapun, adalah penting untuk melaraskan tetapan ini dalam fail php.ini anda untuk mengelakkan kemungkinan isu keselamatan atau kemerosotan prestasi disebabkan oleh fail yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Apabila Muat Naik Fail Melebihi Had `post_max_size` 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