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

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

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

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

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

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

這種這么常見的需求,PHP肯定自帶了某些函數(shù)來實現(xiàn)的,這個函數(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ù)很簡單,看看官方文檔就大概清楚了,這里就舉一個使用例子吧,就是上傳一張圖片,并判斷它的類型:

<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文件同級
    $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 前面的分號去掉來啟用。

當然,檢測文件類型的方式很多種,后面我們會慢慢講到。

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

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

相關(guān)文章

  • 無法載入 mcrypt 擴展,請檢查 PHP 配置終極解決方案

    無法載入 mcrypt 擴展,請檢查 PHP 配置終極解決方案

    今天運行phpmyadmin的時候,提示無法載入 mcrypt 擴展,經(jīng)排查原來是php配置問題。
    2011-07-07
  • php中使用sftp教程

    php中使用sftp教程

    這篇文章主要介紹了php中使用sftp教程,本文講解了ftp 協(xié)議簡介、ssh協(xié)議、sftp 協(xié)議等知識,并給出了FTP和SFTP操作類實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • PHP連接access數(shù)據(jù)庫

    PHP連接access數(shù)據(jù)庫

    在PHP中連接access數(shù)據(jù)庫的話我們必須ADO來連接,這跟ASP中連接數(shù)據(jù)庫非常的類似.下邊給出了一段DEMO供大家參考.
    2008-03-03
  • PHP實現(xiàn)對xml的增刪改查操作案例分析

    PHP實現(xiàn)對xml的增刪改查操作案例分析

    這篇文章主要介紹了PHP實現(xiàn)對xml的增刪改查操作,結(jié)合具體案例形式分析了php針對xml格式文件的增刪改查操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • smarty的保留變量問題

    smarty的保留變量問題

    {$smarty}保留變量可以被用于訪問一些特殊的模板變量,以下是全部頁面請求變量。
    2008-10-10
  • PHP獲取當前完整URL地址的函數(shù)

    PHP獲取當前完整URL地址的函數(shù)

    這篇文章主要介紹了PHP獲取當前完整URL地址的函數(shù),需要的朋友可以參考下
    2014-12-12
  • PHP 變量定義和變量替換的方法

    PHP 變量定義和變量替換的方法

    當用雙引號或heredoc定義字符串直接量時,字符串服從變量替換(variable interpolation)規(guī)則。替換即在字符串中用變量的值來替換變量名,也就是說在字符串中會自動進行變量解析。
    2009-07-07
  • php懶人函數(shù) 自動添加數(shù)據(jù)

    php懶人函數(shù) 自動添加數(shù)據(jù)

    php懶人函數(shù) 自動添加數(shù)據(jù),需要的朋友可以參考下。
    2011-06-06
  • 使用PHP強制下載PDF文件示例

    使用PHP強制下載PDF文件示例

    當需要下載一個PDF文件時,如果不經(jīng)處理會直接在瀏覽器里打開PDF文件,然后再需要通過另存為才能保存下載文件,下面通過PHP來實現(xiàn)直接下載PDF文件
    2014-01-01
  • PHP 常用數(shù)組內(nèi)部函數(shù)(Array Functions)介紹

    PHP 常用數(shù)組內(nèi)部函數(shù)(Array Functions)介紹

    本章節(jié)我們還要學(xué)習(xí)一些其它常用的有關(guān)數(shù)組的內(nèi)部函數(shù):count,sizeof、sort、asort、ksort等等,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-06-06

最新評論

井冈山市| 台湾省| 甘南县| 三门峡市| 通江县| 健康| 崇信县| 洞头县| 开平市| 鹿邑县| 武邑县| 永福县| 邵武市| 墨江| 台中市| 洛浦县| 大冶市| 夹江县| 资兴市| 威宁| 普兰店市| 宁武县| 巴林右旗| 新乐市| 周至县| 上思县| 静安区| 吉林市| 临潭县| 宁阳县| 阿鲁科尔沁旗| 桦南县| 南平市| 天津市| 娱乐| 新营市| 积石山| 鱼台县| 绥中县| 蒙自县| 临沂市|