最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年05月09日 11:18:39   投稿:zx  
這篇文章主要介紹了PHP文件類型檢查及fileinfo模塊安裝使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在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)圈快速迭代,與時俱進的風(fē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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • php設(shè)計模式之中介者模式分析【星際爭霸游戲案例】

    php設(shè)計模式之中介者模式分析【星際爭霸游戲案例】

    這篇文章主要介紹了php設(shè)計模式之中介者模式,結(jié)合具體案例形式分析了星際爭霸游戲中使用PHP中介者模式的相關(guān)操作技巧,需要的朋友可以參考下
    2020-03-03
  • CodeIgniter生成靜態(tài)頁的方法

    CodeIgniter生成靜態(tài)頁的方法

    這篇文章主要介紹了CodeIgniter生成靜態(tài)頁的方法,涉及CodeIgniter框架使用文件操作類生成靜態(tài)文件的實現(xiàn)技巧,需要的朋友可以參考下
    2016-05-05
  • laravel中的fillable和guarded屬性詳解

    laravel中的fillable和guarded屬性詳解

    今天小編就為大家分享一篇laravel中的fillable和guarded屬性詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Swoole?webSocket客服IM消息系統(tǒng)方案解析

    Swoole?webSocket客服IM消息系統(tǒng)方案解析

    這篇文章主要為大家介紹了Swoole?webSocket客服IM消息系統(tǒng)方案解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • php讀取msn上的用戶信息類

    php讀取msn上的用戶信息類

    一個可以獲取msn上用戶信息的代碼
    2008-12-12
  • ThinkPHP登錄功能的實現(xiàn)方法

    ThinkPHP登錄功能的實現(xiàn)方法

    這篇文章主要介紹了ThinkPHP登錄功能的實現(xiàn)方法,是采用ThinkPHP進行會員系統(tǒng)開發(fā)所必備的重要功能,需要的朋友可以參考下
    2014-08-08
  • 初識ThinkPHP控制器

    初識ThinkPHP控制器

    這篇文章主要帶大家了解ThinkPHP控制器的基本定義、基本操作,配置ACTION_SUFFIX,感興趣的小伙伴們可以參考一下
    2016-04-04
  • PHP 超高性能可擴展HTTP服務(wù)框架Webman

    PHP 超高性能可擴展HTTP服務(wù)框架Webman

    本文主要介紹了超高性能可擴展HTTP服務(wù)框架Webman,webman用于替代傳統(tǒng)的php-fpm架構(gòu),提供超高性能可擴展的HTTP服務(wù),感興趣的可以了解一下
    2024-02-02
  • PHP基于進程控制函數(shù)實現(xiàn)多線程

    PHP基于進程控制函數(shù)實現(xiàn)多線程

    這篇文章主要介紹了PHP基于進程控制函數(shù)實現(xiàn)多線程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • 分享自定義的幾個PHP功能函數(shù)

    分享自定義的幾個PHP功能函數(shù)

    這篇文章主要介紹了分享自定義的幾個PHP功能函數(shù),本文羅列的都是WEB開發(fā)中常用的一些功能函數(shù),例如提交過濾、字符串截取、IP地址匿名化、隱藏文件真實路徑等,需要的朋友可以參考下
    2015-04-04

最新評論

阜平县| 太原市| 张家港市| 巴彦淖尔市| 香河县| 鄄城县| 墨江| 北京市| 盐山县| 昔阳县| 侯马市| 辽源市| 额敏县| 德令哈市| 河间市| 金秀| 忻城县| 乌拉特中旗| 莎车县| 泰来县| 马龙县| 蒙阴县| 和田市| 江孜县| 太仆寺旗| 水富县| 屯留县| 浠水县| 武城县| 桦甸市| 盖州市| 伊金霍洛旗| 阿坝县| 梁河县| 扶余县| 庐江县| 昆明市| 柏乡县| 定兴县| 大渡口区| 漳浦县|