Rumah pembangunan bahagian belakang masalah PHP Pasang maklumat fail sambungan php

Pasang maklumat fail sambungan php

May 24, 2023 pm 05:23 PM

Dengan perkembangan beransur-ansur dan mempopularkan teknologi Internet, aplikasi berasaskan Web semakin dibina menggunakan bahasa dinamik (seperti PHP). Dalam PHP, muat naik fail adalah operasi yang sangat biasa. Walau bagaimanapun, disebabkan oleh pelbagai jenis jenis fail, dalam banyak kes kita perlu melakukan jenis pengesahan atau pemprosesan tertentu pada fail yang dimuat naik, yang memerlukan penggunaan alat pengenalan jenis fail berkuasa yang disediakan oleh PHP - sambungan info fail.

Apakah sambungan info fail?

Pelanjutan info fail ialah sambungan yang disertakan dengan PHP Ia boleh mengenal pasti jenis fail fail yang dimuat naik untuk menentukan jenis MIME atau sambungan failnya. Selepas PHP 5.3.0, sambungan info fail telah ditambahkan pada modul teras, jadi ia telah menjadi ciri standard PHP dalam versi PHP yang lebih baharu.

Cara memasang sambungan info fail

Untuk PHP pada sistem Windows, sambungan info fail sudah disertakan dalam pakej pengedaran binari, jadi tidak perlu memasangnya. Tetapi untuk sistem pengendalian seperti Linux, sambungan info fail perlu dipasang secara berasingan.

Mengambil sistem CentOS sebagai contoh, anda boleh memasangnya melalui arahan yum:

yum install php-pecl-fileinfo
Salin selepas log masuk

Selepas pemasangan selesai, anda perlu mendayakan sambungan info fail dalam fail konfigurasi php.ini . Cari dua baris konfigurasi berikut dalam fail php.ini:

;extension=php_fileinfo.dll  //Windows下
;extension=fileinfo.so      //Linux下
Salin selepas log masuk

Alih keluar koma bertitik di hadapan dua baris ini untuk mendayakan sambungan info fail. Kemudian, mulakan semula pelayan web atau kumpulan proses PHP-FPM.

Selepas mendayakan sambungan info fail, anda boleh menggunakan fungsi info fail dalam kod PHP untuk memproses fail yang dimuat naik.

Menggunakan sambungan info fail

Menggunakan sambungan info fail memerlukan panggilan fungsi info fail terbina dalam PHP. Fungsi fileinfo mempunyai dua kaedah utama: finfo_open() dan finfo_file().

Kaedah finfo_open() digunakan untuk mencipta objek fileinfo Parameter boleh menentukan jenis perpustakaan pengesanan jenis fail (nilai pilihan adalah FILEINFO_MIME, FILEINFO_MIME_TYPE, FILEINFO_MIME_ENCODING, FILEINFO_SYMLINK, FILEINFO_SYMLINK, FILEINFOLEIN, FILEINFOLEIN. FILEINFO_NONE, dsb.), dan beberapa Tetapan lain (seperti pengekodan penukaran, dsb.). Kaedah

finfo_file() digunakan untuk melaksanakan pengesanan jenis pada fail yang ditentukan dan mengembalikan maklumat seperti jenis MIME atau sambungan fail fail.

Berikut ialah coretan kod PHP mudah untuk menunjukkan cara menggunakan sambungan info fail untuk memproses fail yang dimuat naik:

<?php
// 创建fileinfo对象
$finfo = finfo_open(FILEINFO_MIME_TYPE);

// 读取上传文件类型
$mime_type = finfo_file($finfo, $_FILES['file_upload']['tmp_name']);

// 关闭fileinfo对象
finfo_close($finfo);

if ($mime_type == 'image/jpeg' || $mime_type == 'image/png') {
    // 处理上传图片
} else {
    // 显示错误信息
    echo "上传的文件类型不支持!";
}
?>
Salin selepas log masuk

Dalam kod di atas, kami memanggil kaedah fifo_open() untuk mencipta A fileinfo objek, dan menentukan jenis perpustakaan pengesanan jenis fail sebagai FILEINFO_MIME_TYPE (iaitu, mengesan jenis MIME fail). Kemudian, gunakan kaedah fifo_file() untuk membaca jenis MIME fail yang dimuat naik dan simpannya dalam pembolehubah $mime_type. Akhir sekali, fail yang dimuat naik diproses secara berbeza berdasarkan nilai $mime_type.

Ringkasan

Dalam pembangunan aplikasi web, muat naik fail adalah operasi biasa. Pengesahan dan pemprosesan yang betul bagi fail yang dimuat naik adalah bahagian penting dalam memastikan keselamatan dan keteguhan aplikasi web. Dengan menggunakan sambungan info fail yang disediakan oleh PHP, kami boleh mengesan jenis MIME fail yang dimuat naik dan mendapatkan maklumat asas lain tentang fail untuk pemprosesan seterusnya yang lebih baik.

Atas ialah kandungan terperinci Pasang maklumat fail sambungan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Pengesahan Input PHP: Amalan Terbaik. Pengesahan Input PHP: Amalan Terbaik. Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

See all articles