濮阳杆衣贸易有限公司

主頁 > 知識庫 > PHP文件類型檢查及fileinfo模塊安裝使用詳解

PHP文件類型檢查及fileinfo模塊安裝使用詳解

熱門標簽:外呼系統(tǒng)能給企業(yè)帶來哪些好處 余姚電話機器人 百度地圖標注偏差 開發(fā)地圖標注類網(wǎng)站 百度地圖怎樣標注圖標 廣東廣州在怎么申請400電話 咸寧銷售電銷機器人系統(tǒng) 400電話蘭州申請請 電銷機器人問門薩維品牌my

在web系統(tǒng)開發(fā)中,文件上傳功能是非常常見的功能,這個功能開發(fā)中有一個非常關(guān)鍵的步驟:文件類型檢查,這對于系統(tǒng)安全性起著很重要的作用,也是一個合格的程序員必須要做的。那么在PHP 中如何進行文件類型檢查呢?

文件類型檢查方法

在回答這個問題之前, 首先看一下你的 PHP 版本,因為不同版本可能方法不同:

在 PHP 5.3之前,可以使用mime_content_type方法檢查;

但是 PHP 5.3之后, 這個方法被廢棄了,原因是這個方法存在比較多的問題;

這里建議大家把 PHP 5.3以下版本進行升級,因為PHP7都出來了, 你還在用PHP5.2 甚至更老的版本,這完全不符合互聯(lián)網(wǎng)圈快速迭代,與時俱進的風格。不開玩笑的講, PHP7確實有非常大的性能提升。

所以呢,我們只說一下 PHP 5.3 以后的文件類型檢查方法:使用fileinfo庫

fileinfo模塊的使用方法

官方文檔中對于 fileinfo 模塊的簡介:本模塊中的函數(shù)通過在文件的給定位置查找特定的 魔術(shù) 字節(jié)序列 來猜測文件的內(nèi)容類型以及編碼。 雖然不是百分百的精確, 但是通常情況下能夠很好的工作。

先上代碼吧

$fileName = 'www.pythontab.com.png';
$fip = finfo_open(FILEINFO_MIME); // 返回 mime 類型
echo finfo_file($fip, $fileName);
finfo_close($fip);

這樣就可以直接輸出文件的 Mime 類型了,還是比較簡單的。

fileinfo 模塊安裝

但是, PHP 默認并沒有開啟 fileinfo 模塊,默認不會安裝這個庫, 所以我們要自己安裝一下才可以使用。

下面來看下如何安裝 fileinfo 模塊:

1 下載擴展包

根據(jù)各自的版本號進行下載

wget -O php-5.6.25.tar.gz http://cn2.php.net/get/php-5.6.25.tar.gz/from/this/mirror

這里也可以單獨下載 fileinfo 包

wget -O http://pecl.php.net/get/Fileinfo-1.0.4.tgz

2 解壓

tar -zxvf php-5.6.25.tar.gz

3 進入該擴展目錄

cd /soft_src/php/php-5.6.25/ext/fileinfo

4 編譯 安裝

/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config
make  make install

這樣,就會在系統(tǒng)默認的擴展目錄下新生成一個fileinfo.so文件

5 修改php.ini文件

vim /usr/local/php/etc/php.ini

加入:extension=fileinfo.so

重啟 php, 至此安裝完成

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP編程文件處理類SplFileObject和SplFileInfo用法實例分析
  • PHP SPL標準庫之文件操作(SplFileInfo和SplFileObject)實例

標簽:臨沂 麗江 銅陵 重慶 巴彥淖爾 鷹潭 十堰 衡陽

巨人網(wǎng)絡通訊聲明:本文標題《PHP文件類型檢查及fileinfo模塊安裝使用詳解》,本文關(guān)鍵詞  PHP,文件,類型,檢查,及,fileinfo,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP文件類型檢查及fileinfo模塊安裝使用詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP文件類型檢查及fileinfo模塊安裝使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    青川县| 清水河县| 陵川县| 新泰市| 尼勒克县| 呼和浩特市| 上杭县| 宁乡县| 正镶白旗| 宽甸| 壤塘县| 亚东县| 濮阳市| 井陉县| 西畴县| 永清县| 佳木斯市| 叙永县| 阿尔山市| 江北区| 乌审旗| 高尔夫| 棋牌| 通渭县| 阿合奇县| 博野县| 辽宁省| 三门县| 濮阳县| 南投县| 延安市| 宁津县| 彭山县| 南通市| 成安县| 松滋市| 五家渠市| 鸡东县| 渝中区| 高唐县| 崇左市|