婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP實現(xiàn)獲取文件mime類型多種方法解析

PHP實現(xiàn)獲取文件mime類型多種方法解析

熱門標(biāo)簽:電子地圖標(biāo)注怎么修改 廈門400電話辦理選易號網(wǎng) 天客通地圖標(biāo)注 菏澤語音外呼系統(tǒng)運營商 公司外呼系統(tǒng)中心 梧州市機器人外呼系統(tǒng)怎么樣 如何在世界地圖標(biāo)注 臨沂crm外呼系統(tǒng)平臺 地圖標(biāo)注符號樣式有

本文實例講述了php獲取文件mime類型的方法。分享給大家供大家參考。具體如下:

1.使用 mime_content_type 方法

string mime_content_type ( string $filename )

Returns the MIME content type for a file as determined by using information from the magic.mime file.

?php 
$mime_type = mime_content_type('1.jpg'); 
echo $mime_type; // image/jpeg 
?>

但此方法在 php5.3 以上就被廢棄了,官方建議使用 fileinfo 方法代替。

2.使用 Fileinfo 方法 (官方推薦)

使用fileinfo需要安裝php_fileinfo擴展。

如已安裝可以在extension_dir目錄下找到php_fileinfo.dll(windows),fileinfo.so(linux)

打開php.ini,把extension=php_fileinfo.dll前的";"去掉,然后重啟apache。

?php 
$fi = new finfo(FILEINFO_MIME_TYPE); 
$mime_type = $fi->file('1.jpg'); 
echo $mime_type; // image/jpeg 
?>

3.使用 image_type_to_mime_type 方法(只能處理圖象類型)

使用exif_imagetype方法需要安裝php_exif擴展,并需要安裝php_mbstring擴展

如已安裝可以在extension_dir目錄下找到php_exif.dll(windows),exif.so(linux)

打開php.ini,把 extension=php_mbstring.dll, extension=php_exif.dll 前的","去掉,然后重啟apache

?php 
$image = exif_imagetype('1.jpg'); 
$mime_type = image_type_to_mime_type($image); 
echo $mime_type; // image/jpeg 
?>

Tips:如果使用文件名的后綴來判斷,因為文件后綴是可以修改的,所以使用文件后綴來判斷會不準(zhǔn)確。

php獲取文件mime類型Fileinfo等方法

前幾天寫到使用wordpress xmlrpc api遠程發(fā)布文章,如果本地服務(wù)器的文章庫里某一篇待發(fā)表的wordpress文章包含圖片文件時,就會使用到WordPress上傳文件的API metaWeblog.newMediaObject,該api需要提供文件的mime 類型。php如 何獲取文件(圖片)的mime 類型呢?最初遠方博客使用php mime_content_type()函數(shù),使用開發(fā)用的ubuntu server lamp的默認(rèn)配置測試后完全支持,返回了正確的文件mime type。但是將該API項目移植到Centos 5.2(內(nèi)核2.6) LAMP環(huán)境時,出現(xiàn)了如下錯誤提示:

Fatal error: Call to undefined function: mime_content_type()

最后查看了最新的php手冊發(fā)現(xiàn)php mime_content_type()函數(shù)已經(jīng)被廢棄,當(dāng)然官方不推薦使用,而且需要經(jīng)過適當(dāng)?shù)膒hp配置后才能使用。因此要獲取圖片或其他的文件的 MIME類型,F(xiàn)atal error: Call to undefined function: mime_content_type()錯誤就有了以下幾種解決方案。

mime_content_type()函數(shù)判斷獲取mime類型

如果對已被php 5.3.0廢棄的mime_content_type()函數(shù)仍然情有獨鐘,那么可以對php進行配置啟用magic_mime擴展。比如Centos下 使用phpinfo()查看php apache配置,查找到mime-magic,如果顯示“--without-mime-magic”,則要編譯php切換到”with-mime- magic“選 項。mime_content_type()函數(shù)還依賴于Apache httpd 的magic文件(mime_magic.magicfile),為了檢測文件的MIME類型,必須配置告知magic文件的地址,如'–with- mime-magic=/usr/share/file/magic.mime'。Windows環(huán)境下還需要在php.ini中添加:

mime_magic.magicfile = "$PHP_INSTALL_DIRmagic.mime"

其中$PHP_INSTALL_DIR是你的php安裝目錄。在有些LAMP環(huán)境下,這個mime_magic文件不一定存在或可讀,還要另外下載。另外 有些虛擬主機為了安全考慮,即使是有with-mime-magic也不一定會返回正確的mime類型,有時候會返回空字符串。因此,就憑 mime_content_type()函數(shù)已經(jīng)被廢棄這一項,就不推薦使用該方法獲取文件MIME類型了。

php Fileinfo 獲取文件MIME類型(finfo_open)

PHP官方推薦mime_content_type()的替代函數(shù)是Fileinfo函數(shù)。PHP 5.3.0+已經(jīng)默認(rèn)支持Fileinfo函數(shù)(fileinfo support-enabled),不必進行任何配置即可使用finfo_open()判斷獲取文件MIME類型。Centos 默認(rèn)安裝的LAMP環(huán)境php版本還是PHP5.2.6,低于5.3.0版本則可能出現(xiàn)類似錯誤提示:PHP Fatal error: Call to undefined function finfo_open() in…。因為之前的php版本,需要加載magic_open類,fileinfo函數(shù)屬于PECL擴展,啟用fileinfo PECL擴展才能檢測MIME類型。所以有兩種途徑使用fileinfo獲取文件的MIME類型。

將php版本升級到5.3.0以上。php官方也已經(jīng)不再維護和更新這個fileinfo pecl擴展包,所以升級是最好的辦法。

安裝fileinfo pecl擴展,Centos linux 如何安裝fileinfo:在Centos下面安裝fileinfo命令(rpm):yum install php-pecl-Fileinfo。或使用源碼安裝編譯:

cd /usr/src/down wget http://pecl.php.net/get/Fileinfo-1.0.4.tgz
tar zxvf Fileinfo-1.0.4.tgz
cd /usr/src/down/Fileinfo-1.0.4 phpize ./configure make make install

還可以使用網(wǎng)上流傳較多的一種方法,Linux通過phpize使用pecl指令來安裝fileinfo:

  • 若沒有phpize指令,需要先安裝。#phpize檢測若提示”No command ‘phpize' found”,則需先安裝phpize;
  • 下載安裝php-devel(php5-dev)的rpm,安裝phpize;
  • service httpd restart 或 reboot;
  • 命令 pecl install fileinfo 安裝fileinfo擴展。
  • 安裝完畢,/usr/lib/php/module目錄下多了fileinfo.so文件,/usr/share/file目錄下多了magic.mime和magic兩個文檔
  • 修改php.ini配置:加入 extension=”fileinfo.so”
  • service httpd restart
  • Windows服務(wù)器下安裝fileinfo相似,php.ini:extension=php_fileinfo.dll

image_type_to_mime_type()獲取圖片MIME類型

如果我們需要判斷MIME類型的文件只有圖像文件,那么首先可以使用exif_imagetype()函數(shù)獲取圖像類型常量,再用 image_type_to_mime_type()函數(shù)將圖像類型常量轉(zhuǎn)換成圖片文件的MIME類型。同樣php.ini中要配置打開 php_mbstring.dll(Windows需要)和extension=php_exif.dll。phpinfo()“–enable-exif”。首先exif_imagetype返回的是圖像類型常量(Imagetype Constants),如IMAGETYPE_GIF、IMAGETYPE_JPEG、IMAGETYPE_PNG等。

?php 
$image = exif_imagetype("D:farleeinfo.jpg");  //本地路徑或遠程圖片地址均可 IMAGETYPE_GIF// 
$image = exif_imagetype("http://farlee.info/wp-content/images/rss_feedsky.gif"); 
$mime = image_type_to_mime_type($image); 
echo $mime; // 輸出image/jpeg 
?>

php上傳文件獲取MIME類型

如果使用php上傳文件,檢測上傳文件的MIME類型,則可以使用全局變量$_FILES['uploadfile']['type'],由客戶端的瀏覽器檢測獲取文件MIME類型。

Centos 系統(tǒng)或其他環(huán)境下若都不方便獲取文件MIME類型的話,還有最后一種絕對可行的方法,就是讀取文件名后綴,根據(jù)后綴名一一對應(yīng)文件的MIME類型,具體可以參考php手冊上的這條評論。當(dāng)然這種方法檢測到的MIME文件類型不一定是非常準(zhǔn)確的。

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

您可能感興趣的文章:
  • PHP實現(xiàn)的獲取文件mimes類型工具類示例
  • php文件類型MIME對照表(比較全)
  • php準(zhǔn)確獲取文件MIME類型的方法
  • php實現(xiàn)獲取文件mime類型的方法
  • PHP 利用Mail_MimeDecode類提取郵件信息示例
  • PHP的反射動態(tài)獲取類方法、屬性、參數(shù)操作示例
  • php 比較獲取兩個數(shù)組相同和不同元素的例子(交集和差集)
  • PHP實現(xiàn)獲取url地址中頂級域名的方法示例

標(biāo)簽:白城 黃石 綿陽 郴州 雞西 貴陽 迪慶 瀘州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實現(xiàn)獲取文件mime類型多種方法解析》,本文關(guān)鍵詞  PHP,實現(xiàn),獲取,文件,mime,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實現(xiàn)獲取文件mime類型多種方法解析》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實現(xiàn)獲取文件mime類型多種方法解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲天堂a在线| 欧美顶级少妇做爰| 一本到不卡精品视频在线观看| 久久新电视剧免费观看| 懂色中文一区二区在线播放| 国产欧美精品一区二区三区四区| 日本精品裸体写真集在线观看| 中文字幕日韩一区二区| 欧美电影免费观看完整版| av动漫一区二区| 国产一二精品视频| 99精品视频在线播放观看| 91精品综合久久久久久| 国产精品少妇自拍| 久草精品在线观看| 91麻豆免费观看| 亚洲国产精品ⅴa在线观看| 91精品国产色综合久久| 国产aⅴ综合色| 国产视频亚洲色图| 日韩一区二区免费在线电影| 久久综合久久久久88| 日韩欧美电影在线| 国产精品久久久久精k8| 亚洲裸体xxx| 蜜桃久久久久久| 99精品欧美一区二区三区小说| 欧美日韩国产影片| 欧美人牲a欧美精品| 国产女人水真多18毛片18精品视频| 日韩美女久久久| 国产毛片精品国产一区二区三区| 91啪在线观看| 国产精品嫩草影院com| 久久av资源站| 91精品蜜臀在线一区尤物| 国产精品女主播av| 一区二区三区在线观看视频| 精品在线一区二区三区| 日韩欧美资源站| 天堂在线亚洲视频| 欧美精品 日韩| 日本在线不卡视频| 在线看国产日韩| 亚洲综合色噜噜狠狠| 欧洲一区在线电影| 一区二区三区在线观看网站| 成人av资源下载| 亚洲视频一区在线| 色综合中文字幕国产| 亚洲精品免费视频| 欧美三级日韩三级国产三级| 五月天精品一区二区三区| 3d动漫精品啪啪1区2区免费| 视频一区视频二区中文| 久久综合999| 成人性生交大片免费看中文网站| 51精品久久久久久久蜜臀| 精品国产一二三| 高清shemale亚洲人妖| 中文字幕在线不卡一区二区三区| 91玉足脚交白嫩脚丫在线播放| 亚洲一区二区综合| 顶级嫩模精品视频在线看| 一区二区三区在线视频免费观看| 欧美猛男男办公室激情| 国产 欧美在线| 国内外精品视频| 亚洲在线免费播放| 国产精品超碰97尤物18| 欧美一区二区三区播放老司机| 成人av在线播放网站| 奇米精品一区二区三区在线观看一| 久久亚洲一区二区三区四区| 亚洲精品一二三区| 国产欧美日韩三级| 日韩视频免费观看高清完整版在线观看 | 日韩高清中文字幕一区| 最新欧美精品一区二区三区| 国产亚洲一区二区三区四区| 欧美成人伊人久久综合网| 在线观看成人小视频| 99久久精品免费| 成人av网址在线| 高清成人免费视频| 国产成人精品亚洲日本在线桃色| 久久精品国产免费看久久精品| 日本在线播放一区二区三区| 国产一区在线精品| 综合色中文字幕| 国产午夜精品一区二区三区视频| 成人精品国产一区二区4080| 国产91在线看| 欧美影院午夜播放| 国产精品一区二区免费不卡 | 精品日韩欧美在线| 久久久久国产免费免费| 亚洲国产精品精华液2区45| 一区在线观看视频| 日韩综合一区二区| 丁香婷婷综合色啪| 欧美日韩一卡二卡| 久久亚洲精品小早川怜子| 亚洲欧美激情一区二区| 久久精品国产精品亚洲综合| 99精品视频中文字幕| 精品久久人人做人人爱| 五月激情综合婷婷| 欧美主播一区二区三区美女| 国产欧美日韩不卡免费| 天堂精品中文字幕在线| 91成人免费网站| 1区2区3区欧美| 国产成人亚洲综合a∨婷婷图片| 欧美日韩精品久久久| 国产精品久久久久久久久免费丝袜| 奇米亚洲午夜久久精品| 欧美一级一区二区| 日韩电影在线免费看| 欧美精品久久久久久久久老牛影院| 国产精品黄色在线观看| 不卡的av在线播放| 国产成人av电影在线播放| 91麻豆精品91久久久久同性| 无吗不卡中文字幕| 日韩视频免费观看高清完整版| 午夜欧美在线一二页| 91精品国产品国语在线不卡| 免费成人性网站| 久久久久久亚洲综合| www.在线欧美| 丝袜诱惑制服诱惑色一区在线观看 | 成人av影院在线| 亚洲黄色片在线观看| 精品少妇一区二区三区在线播放| 久久不见久久见中文字幕免费| 欧美激情在线免费观看| 欧美三区在线观看| 麻豆国产91在线播放| 国产精品高潮久久久久无| 色哟哟国产精品| 精品影院一区二区久久久| 国产欧美日韩在线观看| 欧美性受xxxx| 99精品视频免费在线观看| 美腿丝袜一区二区三区| 亚洲男女一区二区三区| 精品国内二区三区| 色综合天天综合网天天看片| 久久99最新地址| 天天操天天色综合| 中文字幕第一区第二区| 欧美变态凌虐bdsm| 3d动漫精品啪啪一区二区竹菊 | 日本一区二区三区在线不卡 | 欧美精品第一页| 色屁屁一区二区| 亚洲色图欧美在线| 国产亚洲欧洲997久久综合 | 色噜噜狠狠成人中文综合| 粉嫩av一区二区三区在线播放 | 精品三级在线观看| 欧美日韩成人一区二区| 欧美喷潮久久久xxxxx| 在线视频国内自拍亚洲视频| 在线免费不卡电影| 欧美一区二区私人影院日本| 色婷婷av一区二区三区软件 | 日韩黄色一级片| 婷婷开心久久网| 国产精品亲子乱子伦xxxx裸| 日韩精品中文字幕在线一区| 欧美亚洲图片小说| 波多野结衣中文字幕一区二区三区 | 中文字幕乱码亚洲精品一区| 日韩精品影音先锋| 欧美喷水一区二区| 日韩一级完整毛片| 91精品一区二区三区久久久久久| 欧美丰满高潮xxxx喷水动漫| 欧美日韩亚州综合| 日本乱人伦aⅴ精品| 色综合色狠狠天天综合色| 91亚洲精品乱码久久久久久蜜桃 | 日韩久久久久久| 在线播放欧美女士性生活| 欧美性大战久久久| 91免费国产在线观看| 99久久精品免费| 欧美亚洲综合另类| 欧美色窝79yyyycom| 日本高清成人免费播放| 欧美亚洲国产bt| 4438x亚洲最大成人网| 精品国产免费人成电影在线观看四季 | 6080午夜不卡| 亚洲精品一区二区三区精华液 | 9191国产精品| 26uuu久久综合| 日韩精品一区二区三区在线播放 |