Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Semak Sambungan Fail dengan Cekap dalam PHP?

Bagaimanakah Saya Boleh Semak Sambungan Fail dengan Cekap dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 11:25:12579semak imbas

How Can I Efficiently Check File Extensions in PHP?

Cara Menyemak Sambungan Fail Dengan Berkesan Menggunakan PHP

Pengesahan sambungan fail adalah penting dalam memastikan muat naik fail selamat. Dalam PHP, fungsi pathinfo() menyediakan cara yang mudah untuk mengekstrak sambungan fail. Walau bagaimanapun, adalah penting untuk mengoptimumkan proses pengesahan untuk kecekapan.

Pendekatan Asal:

Kod yang disediakan menggunakan fungsi pathinfo() untuk mengekstrak sambungan fail dan membandingkannya terhadap nilai tertentu untuk menentukan kesahihannya:

$filename = $_FILES['video_file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if ($ext !== 'gif' || $ext !== 'png' || $ext !== 'jpg') {
    echo 'error';
}

Potensi Ketidakcekapan:

Walau bagaimanapun, pendekatan ini mungkin tidak berkesan jika terdapat sejumlah besar sambungan yang dibenarkan. Menyemak setiap sambungan secara individu menggunakan berbilang perbandingan adalah mahal dari segi pengiraan.

Pendekatan Dioptimumkan:

Untuk meningkatkan kecekapan, disyorkan untuk menggunakan tatasusunan untuk menyimpan sambungan fail yang dibenarkan:

$allowed = array('gif', 'png', 'jpg');
$filename = $_FILES['video_file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if (!in_array($ext, $allowed)) {
    echo 'error';
}

Pendekatan ini menghapuskan keperluan untuk berbilang perbandingan dengan menggunakan fungsi in_array() untuk menyemak sama ada sambungan wujud dalam tatasusunan sambungan yang dibenarkan. Ini mengurangkan dengan ketara bilangan operasi yang diperlukan dan menjadikan proses pengesahan lebih cepat dan lebih cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Sambungan Fail dengan Cekap 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