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

PHP使用finfo_file()函數(shù)檢測(cè)上傳圖片類型的實(shí)現(xiàn)方法

 更新時(shí)間:2017年04月18日 10:21:19   作者:nowamagic  
這篇文章主要介紹了PHP使用finfo_file()函數(shù)檢測(cè)上傳圖片類型的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了finfo_file()函數(shù)的功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了PHP使用finfo_file()函數(shù)檢測(cè)上傳圖片類型的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

在輸入輸出中,文件的交互必不可少,比如文件的上傳什么的。這里我們來(lái)解決一個(gè)小問(wèn)題,就是如何判斷用戶上傳文件的文件類型。

舉一個(gè)應(yīng)用場(chǎng)面:在我們的Web應(yīng)用中,比如用戶上傳頭像,要求是png,jpg,gif格式,接收到圖片后會(huì)根據(jù)圖片格式類型做不同的頭像切割處理,但個(gè)別用戶會(huì)傳一些只更改過(guò)文件后綴的非標(biāo)準(zhǔn)圖片,比如nowamagic.jpg 強(qiáng)行修改成 nowamagic.png,這樣程序無(wú)法對(duì)該類型圖片進(jìn)行切割,切割失敗。這個(gè)時(shí)候就需要對(duì)文件進(jìn)行檢測(cè),并且僅僅根據(jù)后綴來(lái)判斷是不行的。

這種這么常見(jiàn)的需求,PHP肯定自帶了某些函數(shù)來(lái)實(shí)現(xiàn)的,這個(gè)函數(shù)就是 finfo_file。

finfo_file

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_file -- finfo::file — Return information about a file,This function is used to get information about a file.

函數(shù)很簡(jiǎn)單,看看官方文檔就大概清楚了,這里就舉一個(gè)使用例子吧,就是上傳一張圖片,并判斷它的類型:

<html>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <head>
    <title>文件上傳</title>
  </head>
  <body>
  <form accept="" method="post" enctype="multipart/form-data">
  <input type="file" name="img[]" /><br />
  <input type="submit" name="s" /><br />
  </form>
<?php
  //上傳文件信息
  $img = $_FILES['img'];
  if ($img)
  {
    //文件存放目錄,和本php文件同級(jí)
    $dir = dirname(__file__);
    $filename = $img['name'][0];
    $tempname = $img['tmp_name'][0];
    $savepath = "$dir\\$filename";
    $state = move_uploaded_file($tempname, $savepath);
    //如果上傳成功,預(yù)覽
    if($state)
    {
      echo "<img src='$filename' alt='$filename' /> ";
    }
    $finfo = finfo_open(FILEINFO_MIME_TYPE); 
    //$mime = finfo_file($finfo, dirname(__FILE__)."/".$filename); 
    $mime = finfo_file($finfo, $savepath); 
    echo $mime;
  }
?>
  </body>
</html>

需要注意的是,finfo_file 函數(shù)需要 PHP 版本 >= 5.3.0,如果低于 5.3,那么需要到 php.ini 里,將 extension=php_fileinfo.dll 前面的分號(hào)去掉來(lái)啟用。

當(dāng)然,檢測(cè)文件類型的方式很多種,后面我們會(huì)慢慢講到。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

宁化县| 获嘉县| 兴化市| 镇巴县| 桐柏县| 延川县| 密云县| 民勤县| 同仁县| 霍州市| 定州市| 临江市| 庆城县| 洛南县| 尼木县| 红桥区| 泰来县| 旌德县| 同仁县| 云和县| 中超| 承德市| 同仁县| 蓬安县| 荣成市| 赤城县| 晋江市| 武汉市| 灵丘县| 宝丰县| 墨脱县| 鄂温| 清水县| 江孜县| 威海市| 景洪市| 德清县| 安远县| 黎城县| 浑源县| 印江|