Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada kandungan tatasusunan ialah imej dalam PHP

Bagaimana untuk menentukan sama ada kandungan tatasusunan ialah imej dalam PHP

PHPz
PHPzasal
2023-04-18 15:21:05649semak imbas

Dalam proses pembangunan laman web, kami selalunya perlu mengesahkan sama ada jenis fail yang dimuat naik oleh pengguna memenuhi keperluan, terutamanya untuk menentukan sama ada fail dalam tatasusunan berada dalam format imej. Dalam PHP, terdapat beberapa cara untuk menentukan sama ada kandungan tatasusunan ialah imej.

1. Gunakan pertimbangan jenis imej

PHP mempunyai jenis data terbina dalam dipanggil imej, yang boleh digunakan untuk memproses imej. Kita boleh menggunakan jenis imej untuk menentukan sama ada kandungan tatasusunan berada dalam format imej. Kodnya adalah seperti berikut:

$isImage = getimagesize($file['tmp_name']);

if($isImage === false) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}

getimagesize() Fungsi boleh mendapatkan maklumat fail yang ditentukan, termasuk jenis fail, saiz, dsb. Apabila maklumat yang diperoleh adalah palsu, ini bermakna fail yang dipilih tidak dalam format imej.

2. Gunakan pertimbangan jenis fail

Dalam PHP, setiap jenis fail mempunyai jenis MIME yang sepadan, yang digunakan untuk mengenal pasti jenis fail. Kita boleh menentukan sama ada kandungan tatasusunan berada dalam format imej dengan menentukan jenis MIME fail. Kodnya adalah seperti berikut:

$allowedTypes = ['image/png', 'image/jpg', 'image/jpeg', 'image/gif'];
$fileType = mime_content_type($file['tmp_name']);

if(!in_array($fileType, $allowedTypes)) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}

Mula-mula, kami mentakrifkan tatasusunan jenis MIME yang dibenarkan, dan kemudian gunakan fungsi mime_content_type() untuk mendapatkan jenis MIME fail dan menentukan sama ada ia berada dalam tatasusunan jenis MIME yang dibenarkan.

3. Gunakan sambungan untuk menilai

Kami juga boleh menilai sama ada ia adalah format imej dengan menilai sambungan fail, tetapi kaedah ini tidak boleh dipercayai kerana sambungan fail boleh diubah suai dengan mudah. Kaedah ini tidak disyorkan jika terdapat keperluan keselamatan. Kodnya adalah seperti berikut:

$allowedExtensions = ['png', 'jpg', 'jpeg', 'gif'];
$extension = pathinfo($file['name'], PATHINFO_EXTENSION);

if(!in_array($extension, $allowedExtensions)) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}

Pertama, kami mentakrifkan tatasusunan sambungan yang dibenarkan, dan kemudian gunakan fungsi pathinfo() untuk mendapatkan sambungan fail dan menentukan sama ada ia berada dalam tatasusunan yang dibenarkan sambungan.

Ringkasnya, untuk menentukan sama ada kandungan tatasusunan berada dalam format imej, kita boleh menggunakan tiga kaedah: jenis imej, jenis fail dan sambungan. Antaranya, menggunakan jenis imej dan jenis fail adalah kaedah yang boleh dipercayai, tetapi menggunakan sambungan tidak cukup selamat. Pilih sahaja kaedah yang sesuai mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada kandungan tatasusunan ialah 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