您好,登錄后才能下訂單哦!
fileinfo模塊如何在PHP項目中安裝并使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在web系統開發中,文件上傳功能是非常常見的功能,這個功能開發中有一個非常關鍵的步驟:文件類型檢查,這對于系統安全性起著很重要的作用,也是一個合格的程序員必須要做的。那么在PHP 中如何進行文件類型檢查呢?
文件類型檢查方法
在回答這個問題之前, 首先看一下你的 PHP 版本,因為不同版本可能方法不同:
在 PHP 5.3之前,可以使用mime_content_type方法檢查;
但是 PHP 5.3之后, 這個方法被廢棄了,原因是這個方法存在比較多的問題;
這里建議大家把 PHP 5.3以下版本進行升級,因為PHP7都出來了, 你還在用PHP5.2 甚至更老的版本,這完全不符合互聯網圈快速迭代,與時俱進的風格。不開玩笑的講, PHP7確實有非常大的性能提升。
所以呢,我們只說一下 PHP 5.3 以后的文件類型檢查方法:使用fileinfo庫
fileinfo模塊的使用方法
官方文檔中對于 fileinfo 模塊的簡介:本模塊中的函數通過在文件的給定位置查找特定的 魔術 字節序列 來猜測文件的內容類型以及編碼。 雖然不是百分百的精確, 但是通常情況下能夠很好的工作。
先上代碼吧
$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 下載擴展包
根據各自的版本號進行下載
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
這樣,就會在系統默認的擴展目錄下新生成一個fileinfo.so文件
5 修改php.ini文件
vim /usr/local/php/etc/php.ini
加入:extension=fileinfo.so
重啟 php, 至此安裝完成
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。