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

首頁 > 開發 > PHP > 正文

PHP判斷圖片格式的七種方法小結

2024-05-04 23:09:42
字體:
來源:轉載
供稿:網友
使用php判斷文件圖片的格式

復制代碼 代碼如下:


<?php
$imgurl = "http://www.huudi.com/images/logo.gif";
//方法1
echo $ext = strrchr($imgurl,'.');
echo '<hr>';
//方法2
echo $ext1 = substr($imgurl,strrpos($imgurl, '.'));
echo '<hr>';
//方法3
echo(@end(explode(".",$imgurl)));
echo '<hr>';
//方法4
echo pathinfo($imgurl,PATHINFO_EXTENSION);
print_r(pathinfo($imgurl));
echo '<hr>';
//方法5
$imginfo= getimagesize($imgurl);
print_r($imginfo);
echo end($imginfo);
echo '<hr>';
//方法6
$imghttp = get_headers($imgurl,true);
print_r($imghttp);
echo '<hr>';
//方法7
echo exif_imagetype($imgurl);



測試結果:

PHP判斷圖片格式的七種方法小結



方法分析:

第一種思想方法就是把圖片路徑當作字符串來處理,那么判斷圖片格式的也就是變成了查找.號的字符串。

方法1:使用strrchr
strrchr() 函數查找字符串在另一個字符串中最后一次出現的位置,并返回從該位置到字符串結尾的所有字符。

如果成失敗,否則返回 false。備注:該函數是二進制安全的。

方法2:strrpos
strrpos() 函數查找字符串在另一個字符串中最后一次出現的位置。

如果成功,則返回位置,否則返回 false。

注釋:該函數對大小寫敏感。如需進行大小寫不敏感的查找,請使用 strripos()。

先計算.號的位置,在使用substr截取字符串

方法3:explode把字符串分割成數組,取數組最后一個鍵值
———————————————————————–

第二種思想,把圖片路徑當作文件路徑,那么這里就需要gd類庫函數或者php文件函數

方法4:使用pathinfo()
pathinfo(path,options)函數以數組的形式返回文件路徑的信息

包括以下的數組元素:

[dirname]
[basename]
[extension]
options參數:

可選。規定要返回的數組元素。默認是 all。

可能的值:

PATHINFO_DIRNAME – 只返回 dirname
PATHINFO_BASENAME – 只返回 basename
PATHINFO_EXTENSION – 只返回 extension
方式5:getimagesize獲取圖片大小格式的方式,這個不是gd類庫函數
這個方法很經典,不僅可以用來判斷圖片格式還可以獲得圖片長寬信息

方法6:get_headers獲取http報頭信息
如果圖片路徑是一個標準的url路徑,那么可以使用get_header函數,這個函數可以返回http報

頭,另外這個方法也可以判斷圖片文件url是否是一個有效的url,使用方法參考:《PHP判斷遠程url是否有效的幾種方法》

方法7:使用gd類庫函數
exif_imagetype() 讀取一個圖像的第一個字節并檢查其簽名。

如果發現了恰當的簽名則返回一個對應的常量,否則返回 FALSE。返回值和 getimagesize() 返回的數組中的索引 2 的值是一樣的,但本函數快得多。

返回的常量值:對應的值,如例子返回1,對應的是gif格式圖片。

PHP判斷圖片格式的七種方法小結



綜合評價
目前比較主流使用的方法是方法1,如果考慮安全問題的話可以使用方法5,因為方法5可以判斷這個文件是否為圖像文件(可以避免有人把非法程序偽造成圖片文件).
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新郑市| 通辽市| 尉犁县| 中西区| 丘北县| 沅陵县| 平江县| 个旧市| 和田县| 南阳市| 大渡口区| 大厂| 五华县| 武穴市| 大竹县| 汉寿县| 色达县| 仙桃市| 北宁市| 杭州市| 永仁县| 天津市| 连云港市| 乌海市| 庄浪县| 蕲春县| 美姑县| 宜宾县| 林周县| 肥东县| 广州市| 浪卡子县| 亳州市| 宜黄县| 灌南县| 德兴市| 横峰县| 望都县| 嘉义市| 南昌县| 广元市|