Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah fail yang dimuat naik itu benar-benar imej? Bagaimana untuk mengesahkan fail imej dalam PHP.

Adakah fail yang dimuat naik itu benar-benar imej? Bagaimana untuk mengesahkan fail imej dalam PHP.

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 11:33:29222semak imbas

Is the uploaded file really an image? How to verify image files in PHP.

Mengesahkan Fail Imej dalam PHP

Apabila menerima fail dalam PHP, adalah penting untuk memastikan ia adalah imej yang sahih atas sebab keselamatan. Bergantung sepenuhnya pada semakan sambungan fail mungkin tidak boleh dipercayai, kerana pengguna yang berniat jahat boleh menamakan semula skrip dengan sambungan seperti imej.

Menggunakan getimagesize()

Fungsi getimagesize() menawarkan pendekatan komprehensif untuk menentukan sama ada fail yang diterima adalah imej. Ia mengembalikan tatasusunan yang mengandungi maklumat tentang imej, termasuk lebar, ketinggian dan jenis MIMEnya. Begini cara untuk melaksanakannya:

<code class="php">if (@is_array(getimagesize($mediapath))) {
    $image = true;
} else {
    $image = false;
}</code>

Jika fungsi getimagesize() berjaya mendapatkan semula tatasusunan maklumat, ini menunjukkan bahawa fail itu adalah imej tulen. Jika tidak, ia berkemungkinan fail bukan imej.

Sampel Output

Berikut ialah contoh output daripada getimagesize():

Array (
[0] => 800
[1] => 450
[2] => 2
[3] => width="800" height="450"
[bits] => 8
[channels] => 3
[mime] => image/jpeg)

Output ini menunjukkan bahawa fail itu sememangnya imej dengan lebar 800 piksel, ketinggian 450 piksel dan jenis imej/jpeg jenis MIME.

Atas ialah kandungan terperinci Adakah fail yang dimuat naik itu benar-benar imej? Bagaimana untuk mengesahkan fail imej dalam 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