php獲取副檔名的6種方法

2021-08-01 02:14:13 字數 1321 閱讀 4253

php中獲取副檔名的n種方法

第1種方法:

function get_extension($file)

第2種方法:
function get_extension($file)

第3種方法:

function get_extension($file)

第4種方法:

function get_extension($file)

第5種方法:

function get_extension($file)

以上幾種方式粗看了一下,好像都行,特別是1、2種方法,在我不知道pathinfo有第二個引數之前也一直在用。但是仔細考慮一下,前四種方法都有各種各樣的毛病。要想完全正確獲取檔案的副檔名,必須要能處理以下三種特殊情況。

沒有副檔名

路徑中包含了字元.,如/home/test.d/test.txt

路徑中包含了字元.,但檔案沒有副檔名。如/home/test.d/test

很明顯:1、2不能處理第三種情況,3不能正確處理第一三種情況。4可以正確處理,但是在不存在副檔名時,會發出乙個警告。只有第5種方法才是最正確的方法。

第6種方法:

$tempfile = @fopen($img, "rb");

$bin = fread($tempfile, 2); //唯讀2位元組

fclose($tempfile);

$strinfo = @unpack("c2chars", $bin);

$typecode = intval($strinfo['chars1'] . $strinfo['chars2']);

$filetype = '';

switch ($typecode)

直接讀檔案頭,根本不管上傳者指定的副檔名,哪怕你不指定副檔名,目前為止還準確著,^_^。比如把 upall.png 改名為 upall.jpg 上傳、或改名為 upall.uim,也可以準確讀出檔名為 upall.png

PHP獲取副檔名的五種方法。

第1種方法 複製 如下 function get extension file 第2種方法 複製 如下 function get extension file 第3種方法 複製 如下 function get extension file 第4種方法 複製 如下 function get exten...

PHP獲取副檔名的方法

php獲取副檔名的方法 上傳成功示例 array 5 ext substr strrchr upfile name 1 var dump ext 結果 string 4 docx ext substr upfile name strrpos upfile name 1 var dump ext 結果...

PHP中獲取副檔名的N種方法

php中獲取副檔名的n種方法 從網上收羅的,基本上就以下這幾種方式 第1種方法 function get extension file 第2種方法 function get extension file 第3種方法 function get extension file 第4種方法 function...