国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

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

2024-05-04 23:56:42
字體:
供稿:網(wǎng)友

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

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

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

這種這么常見的需求,PHP肯定自帶了某些函數(shù)來實(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ù)很簡單,看看官方文檔就大概清楚了,這里就舉一個(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文件同級    $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'    }    $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 前面的分號去掉來啟用

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

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


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 灯塔市| 浮山县| 澎湖县| 那曲县| 吉木萨尔县| 鹤岗市| 昂仁县| 新建县| 郁南县| 田阳县| 陆良县| 凤凰县| 岑巩县| 团风县| 银川市| 登封市| 屏山县| 山阳县| 神池县| 虹口区| 什邡市| 崇礼县| 乃东县| 运城市| 温宿县| 朝阳县| 阳西县| 繁峙县| 尼勒克县| 绿春县| 伊川县| 田林县| 顺昌县| 革吉县| 定兴县| 普洱| 福贡县| 南乐县| 察哈| 德化县| 宜良县|