Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah ungkapan biasa PHP untuk mengesahkan sambungan fail

Kaedah ungkapan biasa PHP untuk mengesahkan sambungan fail

WBOY
WBOYasal
2023-06-24 12:13:401844semak imbas

Dalam proses pembangunan web, kadangkala perlu mengenakan sekatan format pada fail yang dimuat naik, iaitu hanya fail jenis tertentu boleh dimuat naik untuk lulus pengesahan. Pada masa ini, anda boleh menggunakan ungkapan biasa PHP untuk mengesahkan sambungan fail.

Ekspresi biasa PHP ialah alat yang berkuasa untuk memadankan dan mencari rentetan. Ia boleh membantu kami dengan cepat dan tepat menentukan sama ada sekeping teks memenuhi keperluan mengikut peraturan tertentu dan memprosesnya selanjutnya. Seterusnya, artikel ini akan menerangkan cara menggunakan ungkapan biasa PHP untuk pengesahan sambungan fail.

Langkah 1: Dapatkan sambungan fail yang dimuat naik

Untuk mengesahkan sambungan fail yang dimuat naik, kami perlu mendapatkan nama fail lengkap fail yang dimuat naik terlebih dahulu. Dalam PHP, anda boleh mendapatkan maklumat fail melalui pembolehubah $_FILES. Pembolehubah ini ialah tatasusunan dua dimensi yang melaluinya maklumat seperti nama, jenis, saiz dan lokasi storan sementara bagi fail yang dimuat naik boleh diperolehi.

Sebagai contoh, $_FILES'file' ialah nama fail asal bagi fail yang dimuat naik.

Seterusnya, kita perlu memisahkan sambungan fail daripada nama fail. Maklumat fail (nama fail, sambungan, laluan, dll.) boleh diperoleh menggunakan fungsi PHP terbina dalam pathinfo(). Fungsi ini akan mengembalikan tatasusunan bersekutu yang mengandungi maklumat seperti laluan fail, nama fail dan sambungan fail.

Contohnya, $ext = pathinfo($_FILES'file', PATHINFO_EXTENSION) boleh mendapatkan sambungan fail yang dimuat naik.

Langkah 2: Gunakan ungkapan biasa untuk mengesahkan sambungan fail yang dimuat naik

Selepas mendapatkan sambungan fail, anda perlu mengesahkannya untuk mengesahkan sama ada sambungan fail dibenarkan Jenis fail. Kaedah menggunakan ungkapan biasa PHP untuk pengesahan adalah seperti berikut:

$allowExt = '/^(jpg|jpeg|png|gif)$/'; // 允许上传的文件类型

if (preg_match($allowExt, $ext)) {
   // 扩展名合法,文件类型符合要求
} else {
   // 扩展名不合法,文件类型不符合要求
}

Antaranya, gunakan fungsi preg_match() untuk memadankan sambungan fail yang dimuat naik Jika perlawanan berjaya, ia bermakna sambungan fail dibenarkan .

Ungkapan biasa di atas '/^(jpg|jpeg|png|gif)$/' akan sepadan dengan semua rentetan yang berakhir dengan jpg, jpeg, png dan gif Jika ia sepadan dengan mana-mana format format fail Undang-undang.

Perlu diambil perhatian bahawa '^' dalam ungkapan biasa mewakili kedudukan permulaan rentetan, dan '$' mewakili kedudukan penamat rentetan. Oleh itu, ungkapan biasa di atas mengehadkan sambungan fail kepada empat jenis sahaja: jpg, jpeg, png dan gif.

Langkah 3: Lengkapkan kod pengesahan muat naik fail

Menggabungkan dua langkah di atas, kod pengesahan muat naik fail lengkap adalah seperti berikut:

<?php

$allowExt = '/^(jpg|jpeg|png|gif)$/'; // 允许上传的文件类型
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); // 获取上传文件的扩展名

if (preg_match($allowExt, $ext)) {
    // 扩展名合法,文件类型符合要求
    echo '文件上传成功!';
    // 进行上传操作
} else {
    // 扩展名不合法,文件类型不符合要求
    echo '文件上传失败,文件类型不允许!';
}

Apabila dimuat naik Apabila sambungan fail bertemu keperluan, "Fail berjaya dimuat naik" adalah output dan operasi muat naik dilakukan jika tidak, "Muat naik fail gagal, jenis fail tidak dibenarkan" adalah output.

Ringkasan

Di atas ialah cara menggunakan ungkapan biasa PHP untuk mengesahkan sambungan fail. Dengan mendapatkan sambungan fail yang dimuat naik dan menggunakan ungkapan biasa untuk pemadanan, jenis fail yang dimuat naik boleh dihadkan dengan berkesan, memberikan jaminan yang lebih selamat dan berkesan untuk pembangunan web.

Atas ialah kandungan terperinci Kaedah ungkapan biasa PHP untuk mengesahkan sambungan fail. 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